【问题标题】:how to hide or delete my buttons in Tkinter python?如何在 Tkinter python 中隐藏或删除我的按钮?
【发布时间】:2021-01-31 21:45:41
【问题描述】:

我正在用海龟在画布上制作一个小游戏,并用 tkinter 制作一个菜单。 游戏停留在 tkinter 窗口中。 到目前为止,我能够在按下按钮时操纵画布,并操纵 tkinter 窗口。 但按下游戏按钮后,我希望 2 个按钮消失。隐藏或删除。 我不知道该怎么做?有人可以帮我吗? 这是我的代码:

import tkinter as tk
from turtle import RawTurtle

root = tk.Tk()
root.geometry("200x200")

canvas = tk.Canvas(master = root, width = 0, height = 0)
canvas.pack()

def testdel():   
    global canvas
    canvas.config(width = 0, height = 0)
    root.geometry("200x200")

def testteken():
    global canvas
    root.geometry("1000x1000")
    canvas.config(width = 100, height = 100)
    t = RawTurtle(canvas)
    t.pencolor("#ff0000") # Red
    t.goto(200, 110)
    t.pendown()
    t.goto(0, 0)
    t.penup()

button1 = tk.Button(master = root, text = "delete", command = testdel).pack(side = tk.LEFT)
button2 = tk.Button(master = root, text = "draw", command = testteken).pack(side = tk.LEFT)

root.mainloop()

更新:

我通过将按钮后面的“打包”代码更改为正常的打包方式来解决此问题 >> button1.pack() 在此之后theo的解决方案确实有效:)

【问题讨论】:

    标签: python button tkinter hide


    【解决方案1】:

    要暂时隐藏小部件,请使用pack_forget()

    例如

    def delete_buttons():
        button1.pack_forget()
        button2.pack_forget()
    

    并在游戏按钮中使用command=delete_buttons

    【讨论】:

    • 嗨西奥,我试过了。该代码出现以下错误:return self.func(*args) File "C:\HBO ICT blok 1\bridging course\casus\python oefen\turtle\2 - kopie.py", line 27, in delete_buttons button1 .pack_forget() AttributeError: 'NoneType' 对象没有属性 'pack_forget'
    • 更新:我想我已修复它:我将包代码更改为新行,并且在此之后 pack_forget 确实起作用了 button1.pack() :)
    • @Wwes 你可能对stackoverflow.com/questions/63079633/…感兴趣
    猜你喜欢
    • 2014-02-24
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 2022-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多