簡體   English   中英

如何在頂層() Tkinter 中使用 canvas 制作按鈕

[英]How to make button using canvas in toplevel() Tkinter

我正在嘗試在 Tkinter 的toplevel()中使用canvas.create_window制作一個按鈕。 按鈕用於 go 回到主 window。 顯示第一個“開始”按鈕,但不顯示第二個“返回”按鈕。 代碼如下。

from tkinter import *

win = Tk()

def play_button():
    win.withdraw()
    top = Toplevel()
    top.geometry("300x300")
    button_back = Button(top, text="Back", command=back_button)

    canvas_two = Canvas(top, width = 300, height = 300)    
    canvas_two.pack(fill="both", expand=True)         
    Button_reverse = canvas_two.create_window(0, 0, anchor="nw", window=button_back)
    top.resizable(False, False)

def back_button():
    win.deiconify()

win.geometry("300x300")

canvas = Canvas(win, width = 300, height = 300)
canvas.pack(fill="both", expand=True)      
button_play = Button(win, text="Play", command=play_button)
Play_button = canvas.create_window(0, 0, anchor="nw", window=button_play )

win.mainloop()

問題是canvas_twobutton_back的創建順序。 您需要先創建Canvas ,然后將Button放在上面,如下所示。

def play_button():
    win.withdraw()
    top = Toplevel()
    top.geometry("300x300")

    canvas_two = Canvas(top, width=300, height=300)
    canvas_two.pack(fill="both", expand=True)

    button_back = Button(top, text="Back", command=back_button)
    Button_reverse = canvas_two.create_window(0, 0, anchor="nw", window=button_back)
    top.resizable(False, False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM