【发布时间】:2017-12-15 14:06:40
【问题描述】:
在顶级小部件中使用 simpledialog 小部件时遇到问题。下面的代码摘录会导致一个空的弹出窗口(标题为“Blocked fields”)、带有正确简单对话框的第二个弹出窗口(也可以正常工作)和主游戏窗口(代码中未显示)。
我想摆脱第二个过时的窗口,我认为这一定是一件简单的事情,但我被困住了(完整的 python 新手,如果你还不能说的话)。任何提示都非常感谢!
import tkinter as tk
from tkinter import simpledialog
root = tk.Tk()
root.geometry("580x400+300+200")
root.title("Pah Tum")
#Popup window
block_request_top = tk.Toplevel()
block_request_top.title("Blocked fields")
entry_block = simpledialog.askinteger("Blocked fields", \
"Please enter a number of fields to be blocked. Choose an \
uneven number between 5,13]", parent=block_request_top, minvalue=5, \
maxvalue=13)
【问题讨论】:
-
您根本不需要 Toplevel() 窗口。 askinteger() 是一个对话框,不需要容器小部件。跳过 block_request_top 窗口即可。
标签: python tkinter toplevel simpledialog