在OSX上的tkinter:打开新窗口而不是选项卡

时间:2018-09-28 21:16:51

标签: python macos tkinter

我想在Mac OSX(10.14)上的tkinter应用程序(python 3.6.5)中打开一个新窗口。 Existing answers say to use TopLevel。如果“系统偏好设置”->“坞站”->“打开文档时首选标签”设置为“仅全屏显示”,则以下代码有效。但是,当该首选项设置为“始终”时,该应用程序将执行不同的操作,并在新选项卡中打开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()

1 个答案:

答案 0 :(得分:0)

不知道为什么,但是使用root.resizable(False,False)来停止更改窗口大小意味着创建了一个新窗口,而不是一个选项卡。