如何更改tkinter中按钮的可见性?

问题描述 投票:0回答:1

我是python的新手,我正在尝试创建一个应用程序,我只想在单击“显示”按钮后才能看到按钮。从应用程序开始就不应该看到该按钮,只有在点击“显示”按钮后才能看到该按钮你能帮助我吗?

我有这个代码,点击另一个按钮后隐藏按钮。隐藏按钮后,它将文本更改为“显示”。


from tkinter import *

root = Tk()

btn1 = Button(root,text="Example")
btn1.visible = True
btn1.place(x=20, y=50)
btn1.pi = btn1.place_info()

btn3 = Button(root, text="click me", command=lambda:plugin())
btn3.place(x=20, y=150)

def plugin():
    master = Tk()

    def toggle1():
        if btn1.visible:
            btnToggle1["text"] = "Show Example"
            print ("Now you don't")
            btn1.place_forget()
        else:
            btn1.place(btn1.pi)
            print ("Now you see it")
            btnToggle1["text"] = "Hide Example"
        btn1.visible = not btn1.visible


    btnToggle1 = Button(master, text="Hide Example", command=toggle1)
    btnToggle1.place(x=70, y=150)

    master.mainloop()

root.mainloop()

我希望按钮只在我点击“显示”按钮后显示,而不是从一开始。

python python-3.x tkinter
1个回答
0
投票

我希望这就是你的意思:

from tkinter import *
import tkinter

root = Tk()

btn1 = Button(root,text="Example")
btn1.visible = True
btn1.place(x=20, y=50)
btn1.pi = btn1.place_info()

btn3 = Button(root, text="click me", command=lambda:plugin())
btn3.place(x=20, y=150)

def plugin():
    master = Tk()

    def toggle1():
        if btn1.visible:
            btnToggle1["text"] = "Show Example"
            btnToggle1["state"] = DISABLED
            print ("Now you don't")
            btn1.place_forget()
        else:
            btn1.place(btn1.pi)
            print ("Now you see it")
            btnToggle1["state"] = NORMAL
            btnToggle1["text"] = "Hide Example"
        btn1.visible = not btn1.visible


    btnToggle1 = Button(master, text="Hide Example", command=toggle1)
    btnToggle1.place(x=70, y=150)

    master.mainloop()

root.mainloop()
© www.soinside.com 2019 - 2024. All rights reserved.