【发布时间】:2019-03-04 21:20:48
【问题描述】:
我想在 mac OSX (10.14) 上的 tkinter 应用程序 (python 3.6.5) 中打开一个新窗口。 Existing answers say to use TopLevel。如果 System Preferences -> Dock -> “Prefer tabs when opening documents”设置为“In Full Screen Only”,则以下代码有效。但是,当该首选项设置为“始终”时,应用程序会以不同的方式执行并在新选项卡中打开 TopLevel,这不是我想要的行为(无论用户的系统首选项如何,我实际上都在寻找一个阻止弹出警报窗口)。
import sys
from tkinter import *
ABOUT_TEXT = "I want this to open in a new window, not a tab"
def newWindow():
toplevel = Toplevel(app)
label1 = Label(toplevel, text=ABOUT_TEXT, height=0, width=100)
label1.pack()
app = Tk()
app.title("tkinter: new window on mac")
app.geometry("500x300+200+200")
b = Button(app, text="Quit", width=20, command=app.destroy)
button1 = Button(app, text="Open new window", width=20, command=newWindow)
b.pack(side='bottom',padx=0,pady=0)
button1.pack(side='bottom',padx=5,pady=5)
app.mainloop()
【问题讨论】: