日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口

發(fā)布時間:2024/7/23 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我是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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。