Tkinter从课外调整小部件?

时间:2017-03-29 19:32:42

标签: python class variables tkinter

抱歉,请耐心等待我的努力。我已经搜索过了,即使已经有关于确切主题的帖子,我也完全不明白我哪里出错了。

简短的故事就是我正在运行一个过程,它是通过所述过程运行的,我希望文本在经过时从黑色变为红色。现在,我试图这样做的方式来自课外。

如果我能引起你对def C()的注意: 一旦程序从开始按钮开始,变量start就设置为1.我希望消息statusStartTk下的Application.createWidgets()中的文本变为红色。我正在尝试使用Application.statusStartTk.config在C()中执行此操作(fg =' red')

现在,对于那些我出错的聪明家伙来说,这可能是显而易见的,并且会很高兴能够做对。我花了几个小时尝试不同的事情并且搜索无济于事。你可能会看到我在哪里发表了评论,并指出了我在尝试的事情。

此外我还想说,我很感谢你们到目前为止回复的非常快速和有用的回复,所以再次感谢你,并期待。

无论如何,这里是代码:

import time
from tkinter import *
import tkinter as Tk
import tkinter

#sets up Tkinter GuI
root = Tk.Tk()

#Set Adjustable Variables for GUI
startText=StringVar()
startText.set("Start Brew!")



def a():
    #print('a')
    print('start = ', start)

def b():
    print('b')

def c(): #GUI ASSISTANCE STATUS WINDOW
    print('c')
    if start==1:
        Application.statusStartTk.config(fg='red')



def main():
    a()
    b()
    c()   

class Application(Tk.Frame):
    def __init__(self, master=None):
        Tk.Frame.__init__(self, master)
        self.createWidgets()

    def createWidgets(self):

        #Set start buttons and sink and disable if brew started
        self.startButton = Tk.Button(root, textvariable=startText, command=Application.startBrew)
        self.startButton.place(x=902,y=60)

        #Plant Status List
        statusTitle = "Plant Status Update:"
        statusTitleTk = Message(root,width=200,font=("Tk Default Font",16), text=statusTitle)
        statusTitleTk.place(x=1090,y=40)

        statusStart = "- Brew Started"
        statusStartTk = Message(root,width=200, text=statusStart)
        statusStartTk.place(x=1100,y=70)


        self.onUpdate()

    def startBrew():
        print('brew has started')
        global start,startButton
        start=1
        startText.set("Brew Started")
        Application()

    def onUpdate(self): 
        root.update_idletasks()
        main()
        #str(variable1.get())
        self.after(5, self.onUpdate)

app = Application(master=root)
root.mainloop()

0 个答案:

没有答案