Tkinter - E-mailprogramm(Schnelle Hilfe bitte)

Fragen zu Tkinter.
Antworten
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

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()
  
Zuletzt geändert von jtschoch am Dienstag 31. Mai 2011, 16:16, insgesamt 2-mal geändert.
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

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.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Hab es hinbekommen
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Das nächste Problem:
http://paste.pocoo.org/show/398333/

er gibt mir aus das (eusereintrag) nicht definiert ist
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Mein Programm sieht jetzt schon so aus:
Bild
in Gegensatz von hier:
http://www.python-forum.de/viewtopic.php?f=18&t=26393
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Habe noch eine Frage wie mache ich den Text bei User...u.s.w. (Linksbündig)
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

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.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

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:
Take it easy Mates!
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@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.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Danke
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

@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:
Take it easy Mates!
Antworten