首页 > 解决方案 > Python - Tkinter 检查此标签是否为空

问题描述

大家好,我需要检查这个标签是否为空:

如果不为空,则激活某个按钮。

我从另一种方法获取文件名。

这是代码:

lb = Label(self, text="",  background='white')
lb.config(text=excel_name)

在此处输入图像描述

标签: pythontkinter

解决方案


这是一个简单的应用程序,它根据标签的文本是否为空字符串来演示激活或禁用按钮:

import tkinter as tk


class App(tk.Tk):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.lb = tk.Label(self)
        self.lb.pack()

        self.entry = tk.Entry(self)
        self.entry.pack()

        self.button = tk.Button(self, text="A button", command=lambda: print("Button pressed"))
        self.button["state"] = tk.DISABLED
        self.button.pack()

        self.bind("<Return>", self.enter_pressed)

    def enter_pressed(self, event):
        self.lb.config(text=self.entry.get())

        self.button["state"] = tk.NORMAL if self.lb["text"] else tk.DISABLED


app = App()
app.mainloop()

该窗口包含一个标签,然后是一个文本输入框,然后是一个按钮。如果在文本输入框中键入文本然后按回车键(回车键),标签文本将设置为文本框中的文本,并且根据标签文本是否为空,按钮设置为启用或禁用或不。

这里的关键是:

self.button["state"] = tk.NORMAL if self.lb["text"] else tk.DISABLED

这会将按钮状态设置为tk.NORMAL(启用)或tk.DISABLED取决于标签文本 ( self.lb["text"]) 是否为空字符串。


推荐阅读