Как обновить сообщение tkinter - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть строковая переменная с именем «spe» в сообщении tk.message, которую я хочу изменить после выполнения Identify

Add after changing of `spe_win`:
spe.set(spe_win)

Я думаю, что вы можете выбросить spe_win переменнуюи используйте spe.set("Updated ...") вместо.

Редактировать после обсуждения в комментариях ниже:

import tkinter as tk
from tkinter import messagebox
global spe="Number"
class IdPage(tk.Frame):
    def __init__(self,parent):
        tk.Frame.__init__(self,parent)
        tk.Button.__init__(self,parent)
        tk.Message.__init__(self,parent)
        tk.Label.__init__(self,parent)
        speak = tk.StringVar(self)
        record_identify = tk.Button(self,
            text = "Record/Identifies",
            font = ("Arial",15),
            command = self.Identify)
        speak = tk.Message(self,
            textvariable = spe,
            width=250)
        spe.set(spe)
        speak.pack()
        record_identify.pack()

global spe="Number"
def Identify():
        print("Your favourite number:")
        a=input()
        if a>5:
            spe="Updated positive"
        else:
            spe="Updated Negative"

root = tk.Tk()
frame = IdPage(root)
frame.pack()
root.mainloop()

1 Ответ

0 голосов
/ 14 февраля 2019

Добавить после изменения spe_win:

spe.set(spe_win)

Я думаю, что вы можете выбросить spe_win переменную и использовать вместо нее spe.set("Updated ...").

Редактировать после обсуждения в комментариях ниже:

import tkinter as tk
from tkinter import messagebox

class IdPage(tk.Frame):
    def __init__(self,parent):
        tk.Frame.__init__(self,parent)
        tk.Button.__init__(self,parent)
        tk.Message.__init__(self,parent)
        tk.Label.__init__(self,parent)
        self.spe = tk.StringVar(self)
        record_identify = tk.Button(self,
            text = "Record/Identifies",
            font = ("Arial",15),
            command = lambda: Identify(self.spe))
        speak = tk.Message(self,
            textvariable = self.spe,
            width=250)
        self.spe.set("How're you?")
        speak.pack()
        record_identify.pack()

def Identify(spe):
    a=4
    if a>3:
        spe.set("Updated positive")
    else:
        spe.set("Updated Negative")

root = tk.Tk()
frame = IdPage(root)
frame.pack()
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...