【问题标题】:Python - Tkinter check if this label empty or not emptyPython - Tkinter 检查此标签是否为空
【发布时间】:2020-09-12 16:13:04
【问题描述】:

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

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

我从其他方法获取文件名。

这是代码:

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

【问题讨论】:

标签: python tkinter


【解决方案1】:

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

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"])是否为空字符串。

【讨论】:

  • 没有任何工作不是输入文本,而是显示文本
  • @john 对不起,我不明白你的问题。您询问了如何从标签中获取文本,此代码将为您完成。也许更详细地更新您的问题?
  • 是的,这段代码是从标签中给出文本,但是,我需要创建函数来知道这个标签是否不为空,点击一些按钮
  • 你的意思是你想要一个函数,当你调用它时,如果标签文本为空,则模拟按钮按下?例如如果a有一个标签lb和一个按钮button,如果lb为空,那么执行绑定到button的命令?
  • 是的,如果 lb 为空,则不要停用按钮,如果 lb 未清空活动按钮
猜你喜欢
  • 2013-04-24
  • 1970-01-01
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 2013-06-26
  • 2019-05-22
  • 1970-01-01
相关资源
最近更新 更多