tkinter на OSX: откройте новое окно вместо вкладки - PullRequest
0 голосов
/ 29 сентября 2018

Я хочу открыть новое окно в моем приложении tkinter (python 3.6.5) на Mac OSX (10.14). Существующие ответы говорят использовать 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 голосов
/ 01 июля 2019

Не знаю, почему, но использование root.resizable (False, False) для остановки изменения размера окна означает, что создается новое окно, а не вкладка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...