Seite 1 von 1

Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Verfasst: Dienstag 31. Mai 2011, 14:54
von jtschoch
Hi Leute,

ich wollte ein Optionsfenster für mein E-Mailprogramm erstellen
es gibt keine Fehlermeldung - das Fenster wird nicht geöfnet

Code: Alles auswählen

import time
from Tkinter import *
from tkMessageBox import *
import Tkinter as tk
import Tkinter
import tkMessageBox

def save():
  user = euser.get()
  mailserver = emailserver.get()
  daten = open("daten.daten", 'w')
  daten.write(mailserver)
  daten.write(user)
  daten.close()

def options():
  root=Tkinter.Tk()
  root.title("E-Mailprogramm - Options")
  root.config(bg = "#E3E2E9")
  root.geometry('1270x750')
  info = Tkinter.Label(root, text = "Hier können sie ihre Daten als User eintragen:",  bg = "#E3E2E9",fg = "black",  
                      font =('Arial', 11, 'bold'))
  info.grid(row = 0)    
  luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9",fg = "black",  
                      font =('Arial', 11, 'bold'))

  luser.grid(row = 1)    

  euser = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

  euser.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
  euser.insert(1, "Bsp. Max.Mustermannatgmx.de")

  lmailserver = Tkinter.Label(root, text = "Mailserver:",  bg = "#E3E2E9",fg = "black",  
                      font =('Arial', 11, 'bold'))

  lmailserver.grid(row = 2)    

  emailserver = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

  emailserver.grid(row = 2, column = 1, ipadx = 20, padx = 4, pady = 2)
  emailserver.insert(2, "Bsp. mail.gmx.net")

  save.Button(text='Save',command = save)
  save.place(relx=0.45, rely=0.91, relwidth=0.10, relheight=0.04)
  root.mainloop()

options()
  

Re: Tkinter fenster wird nicht geöfnet

Verfasst: Dienstag 31. Mai 2011, 15:09
von Xynon1
Sag mal das mit den imports hast du aber noch ncht verstanden, oder ?

Du machst mehrere Fehler:
1. "save" hat kein Klassenobjekt "Button", du meintest wohl eher "save = Button..."
2. "save" gibt es nirgendwo als Funktion bei dir, so das "command" dies nutzen könnte
3. dein Button hat kein "master" widget bekommen, das für dazu, das dieser Button die "_default_root" aus Tkinter zugewiesen bekommt. Diese wird beim start deines Programmes mit deiner "root" überschrieben, ist also das Widget auf dem du mit 2 Geometry-Managern arbeitest und das geht nicht. Gib dem Button also ein anderes Widget als "master" oder ersetze die place- durch ein grid-Methode.

Lösung:
Nimm die oben genannten Änderungen vor und schließe dann erstmal alle IDLE-Fenster, da einige Variablen offensichtlich in der Zwischenablage liegen oder starte das Programm über einen Terminal.

Re: Tkinter fenster wird nicht geöfnet

Verfasst: Dienstag 31. Mai 2011, 15:23
von jtschoch
Hab es hinbekommen

Re: Tkinter fenster wird nicht geöfnet

Verfasst: Dienstag 31. Mai 2011, 15:41
von jtschoch
Das nächste Problem:
http://paste.pocoo.org/show/398333/

er gibt mir aus das (eusereintrag) nicht definiert ist

Re: Tkinter fenster wird nicht geöfnet

Verfasst: Dienstag 31. Mai 2011, 15:55
von jtschoch
Mein Programm sieht jetzt schon so aus:
Bild
in Gegensatz von hier:
http://www.python-forum.de/viewtopic.php?f=18&t=26393

Re: Tkinter - E-mailprogramm(Hilfe)

Verfasst: Dienstag 31. Mai 2011, 16:13
von jtschoch
Habe noch eine Frage wie mache ich den Text bei User...u.s.w. (Linksbündig)

Re: Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Verfasst: Dienstag 31. Mai 2011, 16:33
von Xynon1
Für die Ausrichtungen von Texten gibt es die Schlüsselwörter "anchor" und "justify", das eine kannst du bei Labels beuntzen das andere bei Entries. Weiteres dazu findest du auf effbot.

Re: Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Verfasst: Dienstag 31. Mai 2011, 16:34
von wuf
Hi Jtschoch

Kannst du einmal folgendes ausprobieren:

Code: Alles auswählen

euser.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2, sticky='w')
Gruß wuf :wink:

Re: Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Verfasst: Dienstag 31. Mai 2011, 16:37
von Xynon1
@wuf
Das ist aber etwas anderes als linksbündiger Text, so richtest du die Widgets linksbündig aus, das wird hier aber warscheinlich auch funktionieren.

Re: Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Verfasst: Dienstag 31. Mai 2011, 16:39
von jtschoch
Danke

Re: Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Verfasst: Dienstag 31. Mai 2011, 16:48
von wuf
@Xynon1
Da der Text im User-Eingabefeld auf seinem Bildchen schon linksbündig ist nahm ich automatisch an jtschoch meinte das Eingabe-Widget. :wink:

Gruß wuf :wink: