2017-08-25 30 views
0

時間をかけて更新したいTkinterパネルがあります。メインファイルはインポートされたクラスのメソッドを実行してTkinterパネルを描画し、1秒に5回実行します。ここで時間の経過とともにTkinterパネルを更新する

は、パネルを作成するために、メソッドを呼び出すメインスクリプトです:私は「ルートをしますか

def create(self,root): 
    current = self.get_current_status() 
    self.draw_icons(root,current) 
    self.draw_days(root,current) 
    self.draw_temps(root,current) 
    self.draw_status(root,current) 

:ここ

# Script to control updating the display 
from tkinter import * 
from settings import Settings 
from main_panel import Main 
import time 


# Creates window 
root = Tk() 
root.configure(background = 'black') 

# Establish settings variable 
settings = Settings() 

# Create panel class with settings 
Main = Main(settings) 

# Call panel function to create itself 
Main.create(root) 
root.mainloop() 

はTkinterのパネルを作成する方法です。後のパネルを更新するコール?

答えて

0

カスタマイズたとえば、十分なコードを提供していませんでしたので、ここでroot.after()を使用してのミニマリストの例です:

from tkinter import * 

def update_counter(): 
    counter = label_variable.get() 

    if counter > 0: 
     label_variable.set(counter - 1) 
     root.after(1000, update_counter) 

root = Tk() 

label_variable = IntVar() 
label_variable.set(10) 
Label(root, textvariable=label_variable, width=10).pack() 

root.after(1000, update_counter) 

root.mainloop() 

がうまくいけば、これはあなた自身のコードにroot.after()を組み込む方法のアイデアを与えるだろう。

関連する問題