Tkinter Проверить, не пуст ли StringVar - PullRequest
5 голосов
/ 13 июля 2020

У меня есть StringVar с Tkinter, я хочу проверить, что он не пустой. Когда я выполняю следующее условие, оно принимается, пока переменная пуста.

    if self.var:
        print(self.var)

Напечатанная переменная - PY_VAR1.

    if self.var!= 'PY_VAR1':
        print(self.var)

Напечатанная переменная также PY_VAR1.

Как проверить, что значение self.var не равно PY_VAR1?

Когда я использую get, он тоже не работает

    if self.var.get():
        print(self.var.get())

И когда я меняю значение self.var, с get () ничего не происходит.

self.bouton = ttk.Button(self, text="print var", command=self.printvar)

def printvar(self):
      print(self.var.get())

Когда я нажимаю на кнопку, отображается значение self.var, и даже когда я меняю значение self.var ( ) отображается новое значение. Но я хочу отобразить новое значение self.var, не нажимая кнопку. Я хочу, чтобы он отображался динамически.

1 Ответ

1 голос
/ 18 июля 2020

Попробуйте следующее:

# no.1
if len(string_variable.get()) == 0:
    do_task()

# no.2
'''We use try-except function so we don't get a ValueError if the specified character 
isn't present in the if-condition'''
try:
    if string_variable.index("Any character in a word that needs to be checked"):
        '''If you want to check "PY_Var1", just type('1') or any other character in 
        the if-condition.'''
        do_task()
except:
    do_task()

# If none work, try storing the StringVar in another variable.
new_string_variable = string_variable.get()
if len(new_variable_string) == 0:
    do_task()

# To check if the string variable(StringVar) isn't equal to "any_string".
if (string_variable.get()) != "any_string":
    do_task()

Если у вас все еще есть проблема, не стесняйтесь задавать любые вопросы!

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