Python - Tkinter проверяет, пуста эта метка или не пуста - PullRequest
0 голосов
/ 26 мая 2020

Привет, ребята, мне нужно проверить, пуста ли эта метка или не пуста:

Если не пусто, активна какая-то кнопка.

Я получаю имя файла другим методом.

это код:

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

enter image description here

1 Ответ

1 голос
/ 26 мая 2020

Вот простое приложение, которое демонстрирует активацию или отключение кнопки в зависимости от того, является ли текст метки пустой строкой или нет:

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"]) пустая строка или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...