как сделать так, чтобы виджеты TopLevel отображались сверху при активной переадресации - PullRequest
0 голосов
/ 28 июня 2019

Я создаю GUI, который пользователь не должен закрывать, чтобы добиться этого, я использую overrideredirect, однако, когда активен overrideredirect, мой TopLevel Widget не отображается, так как он создан под корнем.

Я пытался вызвать .lift() на верхнем уровне и присвоить атрибут -topmost, однако верх все еще создается под корнем.

это создание корневого окна

root = tk.Tk()
root.title(string="GUI")
root.overrideredirect(boolean=True)
root.geometry("%sx%s" % (str(screenWidth), str(screenHeight)))

и это создание topLevel

def createRebootVerifcation():
    top2 = tk.Toplevel()
    top2.title(string="Reboot System?")
    top2.geometry(newGeometry="250x60")

    verifcationMessage = tk.Label(master=top2, text="Are you sure you want to reboot?")
    verifcationMessage.pack()

    rebootFrame = tk.Frame(master=top2, height=40, width=150)
    rebootFrame.pack()

    nDismissButton = tk.Button(master=rebootFrame, text="Cancel", command=top2.destroy)
    nDismissButton.pack(side=tk.LEFT)

    nRebootButton = tk.Button(master=rebootFrame, text="Reboot", command=restartClicked)
    nRebootButton.pack(side=tk.LEFT)

Мне было интересно, есть ли способ заставить topLevel создавать поверх root, несмотря на переадресацию direct

...