簡體   English   中英

Tkinter GUI 不顯示 windows 屏幕

[英]Tkinter GUI is not displaying windows screen

我正在嘗試制作簡單的代碼和 GUI。 我還使用mainloop()進行顯示。 在 pycharm 中工作正常,顯示但是當我想雙擊main.py文件時才出現 0.5 秒。 我究竟做錯了什么?

在 pycharm 工作正常,這里是截圖:截屏

但是main.py不顯示。


from tkinter import *
from tkcalendar import DateEntry
master = Tk()

#pack
#place
#grid
canvas = Canvas(master, height=450, width=750)
canvas.pack()
frame_ust=Frame(master, bg='#add8e6')
frame_ust.place(relx=0.1, rely=0.1, relwidth=0.8, relheight=0.1)

frame_alt_sol=Frame(master, bg='#add8e6')
frame_alt_sol.place(relx=0.1, rely=0.21, relwidth=0.23, relheight=0.5)

frame_alt_sag=Frame(master, bg='#add8e6')
frame_alt_sag.place(relx=0.34, rely=0.21, relwidth=0.56, relheight=0.5)

hatirlatma_tipi_etiket = Label(frame_ust, bg='#add8e6',text="Hatırlatma tipi",font="verdana 12 bold")
hatirlatma_tipi_etiket.pack(padx=10, pady=10, side=LEFT)

hatirlatma_tipi_opsiyon= StringVar(frame_ust)
hatirlatma_tipi_opsiyon.set("\t")

hatirlatma_tipi_acilir_menu= OptionMenu(frame_ust,hatirlatma_tipi_opsiyon, "Doğum Günü", "Alışveriş", "Ödeme")
hatirlatma_tipi_acilir_menu.pack(padx=10,pady=10,side=LEFT)

hatirlatma_tarihi_etiket = Label(frame_ust, bg='#add8e6',text="Hatırlatma Tarihi",font="verdana 12 bold")
hatirlatma_tarihi_etiket.pack(padx=10, pady=10, side=LEFT)

hatirlatma_tarih_secici = DateEntry(frame_ust, widh=12, background='orange', foreground='black', borderwidht=1, locale="de_DE")
hatirlatma_tarih_secici._top_cal.overrideredirect(False)
hatirlatma_tarih_secici.pack(padx=10, pady=10, side=LEFT)

Label(frame_alt_sol, bg='#add8e6', text="Hatırlatma Yöntemi",font="verdana 10 bold").pack(padx=10, pady=10, anchor=NW)

var= IntVar()

R1=Radiobutton(frame_alt_sol, text="Sisteme Kaydet", variable=var, value=1, bg='#add8e6', font="verdana 10" )
R1.pack(anchor=NW, pady=5, padx=15)

R2=Radiobutton(frame_alt_sol, text="E-posta gönder", variable=var, value=2, bg='#add8e6', font="verdana 10" )
R2.pack(anchor=NW, pady=5, padx=15)

var1=IntVar()
C1=Checkbutton(frame_alt_sol, text="Bir Hafta Önce", variable=var1, onvalue=1, offvalue=0,bg='#add8e6', font="verdana 10" )
C1.pack(anchor=NW, pady=2, padx=25)

var2=IntVar()
C2=Checkbutton(frame_alt_sol, text="Bir Gün Önce", variable=var2, onvalue=1, offvalue=0,bg='#add8e6', font="verdana 10" )
C2.pack(anchor=NW, pady=2, padx=25)

var3=IntVar()
C3=Checkbutton(frame_alt_sol, text="Aynı Gün", variable=var3, onvalue=1, offvalue=0,bg='#add8e6', font="verdana 10" )
C3.pack(anchor=NW, pady=2, padx=25)

from tkinter import messagebox
def gonder():
    son_mesaj= ""
    try:
        if var.get():
            if var.get() == 1:
                son_mesaj += "Veriniz basarıyla sisteme kaydedilmiştir."

                tip =hatirlatma_tipi_opsiyon.get() if hatirlatma_tipi_opsiyon.get()=='' else "Genel"
                tarih = hatirlatma_tarih_secici.get()
                mesaj = metin_alanı.get("1.0", "end")

                with open("hatırlatmalar.txt","w") as dosya:
                    dosya.write('{} kategorisinde,{} tarihine ve "{}" notuyla hatırlatma'.format(
                        tip,
                        tarih,
                        mesaj
                    ))
                    dosya.close()

            elif var.get() ==2:
                son_mesaj += "E-posta yoluyla hatırlatma size ulaşacaktır."

            messagebox.showinfo("Basarili Islem", son_mesaj)
        else:
            son_mesaj += "Gerekli alanların doldurulgundan emin olun !"
            messagebox.showwarning("Yetersiz Bilgi", son_mesaj)
    except:
        son_mesaj += "İşlem başarısız oldu"
        messagebox.showerror("Başarısız işlem", son_mesaj)
    finally:
        master.destroy()

Label(frame_alt_sag, bg='#add8e6', text="Hatırlatma Mesajı",font="verdana 15 bold").pack(padx=10, pady=10, anchor=NW)

metin_alanı=Text(frame_alt_sag, height=9, width=50)
metin_alanı.tag_configure('style',foreground="#bfbfbf",font=('Verdena',7,'bold'))
metin_alanı.pack()
karilama_metni="Mesajını buraya gir"
metin_alanı.insert(END, karilama_metni,'style')

gonder_butonu=Button(frame_alt_sag, text="Gönder", command=gonder)

gonder_butonu.pack(anchor=S)

master.mainloop()

您可能需要在命令提示符下執行pip install tkcalendarpip install tkintertable

Pycharm 通常提供項目中的虛擬解釋器,如果您沒有更改它或讓它成為該解釋器,則系統路徑中的 python 版本可能沒有相同的庫。

我自己在 cmd 中嘗試了你的代碼,它給了我

Traceback (most recent call last): File "CSVParser.py", line 3, in <module> from tkcalendar import DateEntry ModuleNotFoundError: No module named 'tkcalendar'

嘗試雙擊 click.py 文件給了我和你一樣的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM