E-Mailprogramm

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

Wie binde ich hier so ein Optionsmenü ein (http://effbot.org/tkinterbook/optionmenu.htm)

Code: Alles auswählen

root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.geometry('410x350')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schlißen?"):
        root.destroy()
        root.mainloop()

def About():

    root = Tk()
    root.title('About')
    Message(root, text="\n"
          "\n"
          "\n"
          "\n"
          "\n", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=30, pady=20)
    root.mainloop()


def Help():

    root = Tk()
    root.title('About')
    Message(root, text="\n"
          "\n"
          " "
          "", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=40, pady=10)
    root.mainloop()
    
#Menue



menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():

    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msg = etext.get(0.0)


    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()
    
leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      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, "")


lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2)


epassw = password_entry = Entry(root, show="***")
password_entry.grid(row=2, column=1, stick=N+E+S+W)
#epassw.grid(row = 2, column = 2, ipadx = 20, padx = 4, pady = 2)

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

lmailserver.grid(row = 3)

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

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

lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lempfaenger.grid(row = 4)   

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

eempfaenger.grid(row = 4, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(4, "")


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 5)   

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

ebetreff.grid(row = 5, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(5, "")

#Hier soll so ein Optionsmenü  entstehen
#Danke in voraus!!!


variable = StringVar(root)
variable.set("one")

OptionMenu(root, variable, "one", "two", "three")




    
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 10, width = 30)
etext.grid(row = 6, column = 1, padx = 0, pady = 10)
etext.insert(0.0, "")




Exit=Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)


button1=Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.20, relheight=0.08)

#text=Text(font = '{Arial} 11')
#text.place(relx=0.03, rely=0.34, relwidth=0.83, relheight=0.55)

root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()



Ich freue mich schon auf die Antworten!!!
Zuletzt geändert von jtschoch am Freitag 20. Mai 2011, 18:22, insgesamt 1-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
BlackJack

@jtschoch: Schau Dir das Beispiel das Du aus der Dokumentation dort übernommen hast noch einmal genau an. Das sieht da ein klein wenig anders aus.
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Das hier?
Zuletzt geändert von jtschoch am Donnerstag 19. Mai 2011, 18:43, insgesamt 1-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
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

kapiere ich nicht - kann mir bitte mal jemand den python code schreiben
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:

@Moderator^^ Da stürtzt bei mir das Programm ab - funktioniert nicht (ich weiß ja nicht wie ich es einbinden soll)
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
BlackJack

@jtschoch: Du hast in Deinem ersten Beitrag die Dokumentation von effbot zum `OptionMenu` verlinkt und das Beispiel von dort findet sich *fast* 1:1 in Deinem Quelltext wieder. Warum sollte ich da irgendeine Seite über Tix meinen!?
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ja aber genau bei dem stürtzt es ab!!!
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
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

jtschoch hat geschrieben:Ja aber genau bei dem stürtzt es ab!!!
Also ich sehe da einen "diff"... schau Dir Deinen Code mal im Vgl. zu dem ersten Beispiel im Link noch mal an.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

ich möchte ja das in root (programm einbauen) bei master als extra fenster funktionierts!!!
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
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich kann es leider nicht starten:

Code: Alles auswählen

1 nelson@destiny ~/src/Python/snippets/forum % python optionsmenu.py
Traceback (most recent call last):
  File "optionsmenu.py", line 4, in <module>
    root=Tkinter.Tk()
NameError: name 'Tkinter' is not defined
1 nelson@destiny ~/src/Python/snippets/forum % python2 optionsmenu.py
Traceback (most recent call last):
  File "optionsmenu.py", line 4, in <module>
    root=Tkinter.Tk()
NameError: name 'Tkinter' is not defined
Weiß jemand, ob Tk unter Arch in einem separaten Modul liegt?

Edit: Narf! War kein import da :oops:

@jtschoch: Kannst Du demnächst mal bitte lauffähigen Code posten, wenn Du uns schon alles hier "reinknallst". Wie sehen Deine imports aus?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo jtschoch

Ich habe dein Skript gründlich entlaust. Das heisst nur lauffähig gemacht. Die Schönschreibung möchte ich dier überlassen. Habe auch keine weiteren Verbesserungen vorgenommen.Das Optionsmenü musst du selber in deinen Gridlayout platziern. Für die Buttons nicht den Place-Manager sondern den Grid- oder Grid- mit Pack-Manager kombiniert verwenden:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import Tkinter
import tkMessageBox

root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.geometry('410x350')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schließen?"):
        root.destroy()

def About():

    about = Tkinter.Toplevel()
    about.title('About')
    about_label = Tkinter.Label(about, text="Hier mehr About-Info please.!",
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    about_label.pack(fill='both', padx=5, pady=5)


def Help():

    help = Tkinter.Toplevel()
    help.title('Help')
    help_label = Tkinter.Label(help, text="Hier etwas Hilfe please!",
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    help_label.pack(fill='both', padx=5, pady=5)
   

menubar = Tkinter.Menu(root)
filemenu = Tkinter.Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():

    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msg = etext.get(0.0)


    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
       

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()
   
leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      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, "")


lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2)


epassw = password_entry = Tkinter.Entry(root, show="***")
password_entry.grid(row=2, column=1, stick='nesw')
#epassw.grid(row = 2, column = 2, ipadx = 20, padx = 4, pady = 2)

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

lmailserver.grid(row = 3)

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

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

lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lempfaenger.grid(row = 4)  

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

eempfaenger.grid(row = 4, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(4, "")


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 5)  

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

ebetreff.grid(row = 5, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(5, "")

#Hier soll so ein Optionsmenü  entstehen
#Danke in voraus!!!


variable = Tkinter.StringVar(root)
variable.set("one")

#option_menu = Tkinter.OptionMenu(root, variable, "one", "two", "three")
#option_menu.grid()




   
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 10, width = 30)
etext.grid(row = 6, column = 1, padx = 0, pady = 10)
etext.insert(0.0, "")




Exit=Tkinter.Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)


button1=Tkinter.Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.20, relheight=0.08)

#text=Text(font = '{Arial} 11')
#text.place(relx=0.03, rely=0.34, relwidth=0.83, relheight=0.55)

root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()
Gruß wuf :wink:
Take it easy Mates!
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
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

wie kann ich oben bei Help die Schrift linksbündig machen?
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:

So sieht es jetzt aus:
Bild

So soll es aussehen:
Bild

Also ist auch noch die nächste Frage:
wie ich das Eingabefeld für den Mailtext größer mache und das Passwortfeld kürzer


Bitte helft mir!!!

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import Tkinter
from Tkinter import *
import smtplib
import Tkinter as tk
import tkMessageBox
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.geometry('410x350')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schließen?"):
        root.destroy()

def About():

    about = Tkinter.Toplevel()
    about.title('About')
    about_label = Tkinter.Label(about, text="E-Mailprogramm von Jonas\n"
          "\n"
          "E-Mailprogramm\n"
          "Version: 5\n"
          "\n(C)Jonas Tschoche",                               
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    about_label.pack(fill='both', padx=5, pady=5)


def Help():

    help = Tkinter.Toplevel()
    help.title('Help')
    help_label = Tkinter.Label(help, text="E-Mailprogramm von Jonas Tschoche\n"
          "\n"
          "E-Mailprogramm\n"
          "Version: 5\n"
          "\n"
          "1.Mail Server\n"
          "\n"
          "aikQ Mail(kostenpflichtig)\n"
          "\n"
          "Posteingangsserver: 	aikq.de\n"
          "Postausgangsserver: 	aikq.de\n"
          "Benutzername: 	Benutzername@aikq.de\n"
          "Besonderheiten: 	Verwendet SMTP-Authentifizierung.\n"
          "                     Verwendet STARTTLS (SMTP-Port 25).\n"

          "\n(C)Jonas Tschoche",                               
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    help_label.pack(fill='both', padx=5, pady=5)
   #Text soll Linksbündig sein 

menubar = Tkinter.Menu(root)
filemenu = Tkinter.Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():

    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msg = etext.get(0.0)

    print "E-Mailprogramm"
    print "Version 2"

    #Login& Absenderdaten
    
    user = (user)
    passwort =  (passw)
    betreff = (betreff)
    absender = (user)
    print ""
    
    
    msg = "To:" + empfaenger + "\n"
    msg = msg + "From: " + absender + "\n"
    msg = msg + "Subject: "+ betreff + "\n\n"


    session = smtplib.SMTP(mailserver)
    session.login(user, passwort)

    smtpresult = session.sendmail(absender, empfaenger, msg)

    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()


    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
       

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()

   
leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      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, "")


lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2)


epassw = password_entry = Tkinter.Entry(root, show="***")
password_entry.grid(row=2, column=1, stick='nesw')
#epassw.grid(row = 2, column = 2, ipadx = 20, padx = 4, pady = 2)

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

lmailserver.grid(row = 3)

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

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

lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lempfaenger.grid(row = 4)  

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

eempfaenger.grid(row = 4, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(4, "")


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 5)  

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

ebetreff.grid(row = 5, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(5, "")

#Hier soll so ein Optionsmenü  entstehen
#Danke in voraus!!!


variable = Tkinter.StringVar(root)
variable.set("one")

#option_menu = Tkinter.OptionMenu(root, variable, "one", "two", "three")
#option_menu.grid()


   
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 10, width = 30)
etext.grid(row = 6, column = 1, padx = 0, pady = 10)
etext.insert(0.0, "")




Exit=Tkinter.Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)


button1=Tkinter.Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.20, relheight=0.08)

#text=Text(font = '{Arial} 11')
#text.place(relx=0.03, rely=0.34, relwidth=0.83, relheight=0.55)

root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()
Zuletzt geändert von jtschoch am Mittwoch 18. September 2013, 14:34, insgesamt 1-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
problembär

jtschoch hat geschrieben:Bitte helft mir!!!
Warum sollte ich? Solange Du's nicht selbst peilst, kommst Du noch mit den nächsten 150 Fragen. Im Ergebnis heißt das dann:
Schreib mir gefälligst mein Programm!!!
Nee danke, mach' ma' lieber selbst!
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo jtschoch

Ich würde die Place- & Grid-Layoutmanager nur in Sonderfällen verwenden. Probiere einmal die Applikation mit dem Pack-Layoutmanager aufzusetzen.

Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Mit dem E-Mail Programm komm ich gut voran außer:
es kommt nur bei der Nachricht der erste Buchstabe raus - wenn ich mir die Mai in ein Postfach angucke

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-


from Tkinter import *
from tkMessageBox import *
import smtplib
import Tkinter as tk
import Tkinter
import tkMessageBox
import sys
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.resizable(width=FALSE, height=FALSE)
root.geometry('1270x750')
root.iconbitmap('mail6.ico')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schließen?"):
        root.destroy()
        root.mainloop()

def About():

    root = Tk()
    root.title('About')
    Message(root, text="E-Mailprogramm von Jonas \n"
          "\n"
          "E-Mailprogramm\n"
          "Version: 5\n"
          "\n", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=30, pady=20)
    root.mainloop()


def Help():

    root = Tk()
    root.title('About')
    Message(root, text="E-Mailprogramm\n"
          "\n"
          "E-MAILPROGRAMM  "
          "Version: 5 ", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=40, pady=10)
    root.mainloop()
    
#Menue



menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():
    absender = eabsender.get()
    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msgtext = etext.get(0.0)


    print "E-Mailprogramm"
    print "Version 2"
 

    #Login& Absenderdaten
    absender1 = (absender)
    user = (user)
    passwort =  (passw)
    betreff = (betreff)
    absender = (user)

    msg = "To:" + empfaenger + "\n"
    msg = msg + "From: " + absender1 + "\n"
    msg = msg + "Subject: "+ betreff +  "\n\n"
    msg = msg + msgtext


    try: 
        session = smtplib.SMTP(mailserver)
        session.login(user, passwort)
        smtpresult = session.sendmail(absender, empfaenger, msg)
        if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        
            root.protocol("WM_DELETE_WINDOW", ask_quit)
            root.destroy()
    
    except:
        print "Es konnte keine verbindung zum Server hergestellt werden!"
        root.iconbitmap('warnung.ico')
        if tkMessageBox.showwarning("Senden Fehlgeschlagen", "Es konnte keine Verbindung zum Server hergestellt werden!\nOder ihre Angaben sind Falsch"):
        
            root.protocol("WM_DELETE_WINDOW", ask_quit)
            root.destroy()
            
        session = smtplib.SMTP(mailserver)
        session.login(user, passwort)

        session.sendmail(absender, empfaenger, msg)

    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()




temp = open("mailserver.txt", 'r')
mailserver = temp.read()
temp.close()



leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

temp = open("user.txt", 'r')
readtemp = temp.read()
temp.close()

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9",fg = "black",  #Fabe: #E3EDFC"
                      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, readtemp)

user = euser.get()
temp = open("user.txt", 'a')
temp.close()
lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2 )


epassw = password_entry = Entry(root, show="***")
password_entry.grid(row=2, column=1,ipadx = 40, padx = 4, pady = 4) #stick= N+E+S+W
#epassw.grid(row = 2, column = 1)

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

lmailserver.grid(row = 3)

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

emailserver.grid(row = 3, column = 1, ipadx = 20, padx = 4, pady = 2)
emailserver.insert(3, mailserver)


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 4)   

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

ebetreff.grid(row = 4, column = 1, ipadx = 450, padx = 4, pady = 20)
ebetreff.insert(4, "")

temp = open("user.txt", 'r')
readtemp = temp.read()
temp.close()


labsender = Tkinter.Label(root, text = "Absender:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

labsender.grid(row = 5)   

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

eabsender.grid(row = 5, column = 1, ipadx = 450, padx = 4, pady = 2)
eabsender.insert(5,readtemp)



lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))


lempfaenger.grid(row = 6)   

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

eempfaenger.grid(row = 6, column = 1, ipadx = 450, padx = 4, pady = 2)
eempfaenger.insert(6, "")




    
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 20, width = 135)
etext.config(font=('Arial', 11))
etext.grid(row = 7,column = 1, padx =10 , pady = 30)
etext.insert(0.0, "")



Exit=Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.10, relheight=0.04)


button1=Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.10, relheight=0.04)


root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()
----------------------------------------------------------------------------
Und wie geht das mit den Texten beim Pack-Layoutmanager?
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
Antworten