如何打开Tkinter窗口(例如条目,文本等),并在打开时让它们出现在屏幕上而不是开始最小化? 我真的不知道如何开始......我有一些窗户,但他们打开最小化。我在互联网上搜索,但没有发现任何可能相关的东西。我该怎么做 ? 在windows上使用python(Python 3和Python 2) 感谢您的帮助!如何使Tkinter窗口在打开时显示而不是开始最小化?
编辑:现在的问题,因为我在这里的评论中提到的是,我必须强制显示窗口。但是当我这样做的时候,即使我使用一个函数来集中它以前工作的,窗口也不会开始居中。
代码:
def center(toplevel):
toplevel.update_idletasks()
w = toplevel.winfo_screenwidth()
h = toplevel.winfo_screenheight()
size = tuple(int(_) for _ in toplevel.geometry().split('+')[0].split('x'))
x = w/2 - size[0]/2
y = h/2 - size[1]/2
toplevel.geometry("%dx%d+%d+%d" % (size + (x, y)))
def paste_func():
global text_box
text_box.insert(END, top.clipboard_get())
button_pressed()
def button_pressed(x=0):
# This function determines which button was pressed, and closes this menu/message box/etc...
global pressed
pressed = x
destroy_top()
def destroy_top():
# This function closes this menu/message box/etc...
global top
top.iconify()
top.withdraw()
top.quit()
def get_text():
global pressed
global top
global text_box
pressed = 0
top = Tk()
top.withdraw()
top.rowconfigure(0, weight=0)
top.columnconfigure(0, weight=0)
top.config(height=0, width=0)
top.protocol('WM_DELETE_WINDOW', lambda: button_pressed(-1))
text_box = Entry(top, width=50)
text_box.focus_set()
text_box.grid(row=0, column=0)
but = Button(top, text='Enter', command=button_pressed)
but.grid(row=0, column=1)
paste = Button(top, text='Paste', command=paste_func)
paste.grid(row=0, column=2)
top.deiconify()
text_box.focus_set()
top.after(0, top.focus_force())
center(top)
top.mainloop()
if pressed == -1:
exit()
return text_box.get('1.0', index2=END)
让我们看看您的代码,我们可能会更好地理解,通常Windows并未创建为最小化。 – Max
Windows始终以非最小化状态启动。你必须明确地将它们最小化。你能否提供[mcve]来说明问题。 –
这是一个完全不同的问题,而不是我回答的问题。 – Dan