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

2024-09-28 18:50:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我正在尝试创建一个应用程序,在这个应用程序中,只有在我单击“show”按钮之后,按钮才是可见的。按钮不应该从应用程序开始可见,它应该只在点击“显示”按钮后才可见,你们能帮我吗?在

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


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()

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


Tags: textmaster应用程序examplepiplacebuttonroot
1条回答
网友
1楼 · 发布于 2024-09-28 18:50:47

我希望这就是你的意思:

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()

相关问题 更多 >