python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口
我是Python新手,必須編寫一個簡單的GUI程序,為了簡單起見,我選擇在tkinter中這樣做。
我想要的GUI應(yīng)該非常類似于在Windows上安裝程序時經(jīng)常遇到的對話框(您想要安裝的位置,您想要的模塊等)。基本上當(dāng)它在python3.3中運行時,我想要一個窗口出現(xiàn),其中一些選項占據(jù)了大部分窗口,然后是','返回'和'取消'底部的按鈕;點擊“下一步”'按鈕,當(dāng)前窗口關(guān)閉,打開一個看起來相同的新窗口,除了它有不同的選項(或者它可能是同一個窗口,但它的內(nèi)容已被破壞,我不確定哪個更好) 。我想要的粗略布局顯示在this image
中
我已經(jīng)四處尋找代碼,這些代碼與此類似,但未找到任何代碼。我看過this answer,但它并不是我想要的。我使用this tutorial來了解我對tkinter的了解,但我無法在其中找到答案。
這是我對我想要做的簡化版本的極其糟糕的嘗試:當(dāng)我運行代碼時,它會創(chuàng)建一個帶有兩個按鈕的窗口。 ' Quit'按鈕工作正常;但是,當(dāng)我點擊“下一步”時按鈕關(guān)閉窗口并根據(jù)需要打開一個新窗口,但它也會打開另一個窗口。
from tkinter import *
from tkinter import ttk
def win1():
mainframe = ttk.Frame(root, padding = '3 3 12 12')
mainframe.grid(column = 0, row = 0, sticky = (N, W, E, S))
mainframe.columnconfigure(0, weight = 1)
mainframe.rowconfigure(0, weight = 1)
ttk.Button(mainframe, text = 'Next', command = win2).grid(
column = 1, row = 1, sticky = W)
ttk.Button(mainframe, text = 'Quit', command = quit).grid(
column = 1, row = 2, sticky = W)
root.mainloop()
def quit():
root.destroy()
def win2():
quit()
new = Toplevel()
new.title('Window 2')
new = ttk.Frame(root, padding = '3 3 12 12')
new.grid(column = 0, row = 0, sticky = (N, W, E, S))
new.columnconfigure(0, weight = 1)
new.rowconfigure(0, weight = 1)
ttk.Button(mainframe, text = 'Next', command = win2).grid(
column = 1, row = 1, sticky = W)
root = Tk()
win1()
這會出現(xiàn)以下錯誤消息(我不明白):
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.3/tkinter/__init__.py", line 1478, in __call__
return self.func(*args)
File "", line 23, in win2
File "/usr/lib/python3.3/tkinter/ttk.py", line 733, in __init__
Widget.__init__(self, master, "ttk::frame", kw)
File "/usr/lib/python3.3/tkinter/ttk.py", line 553, in __init__
tkinter.Widget.__init__(self, master, widgetname, kw=kw)
File "/usr/lib/python3.3/tkinter/__init__.py", line 2078, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: this isn't a Tk applicationNULL main window
除了它實際上沒有做我想要的事實之外,我覺得我正在以完全錯誤的方式(在一個函數(shù)中定義窗口等),并且會遇到很多我想讓它變得更復(fù)雜時遇到麻煩。有沒有人能夠以更好的方式重寫我的代碼,并以某種方式幫助我構(gòu)建更復(fù)雜的程序,提供資源來學(xué)習(xí)我需要的程序,我想要甚至提供建議?感謝。
總結(jié)
以上是生活随笔為你收集整理的python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕 x86 android,【华硕X7
- 下一篇: java类与对象实验报告心得体会_Jav