2017-03-24 4 views
0

NPSAppManagedアプリケーションの固定テキストウィジェットで時刻を表示しようとしています。私はちょうどスレッドからウィジェットの.valueパラメータを参照し、それを更新するかどうかはわかりませんnpyscreen - FixedTextウィジェットに現在の時刻を表示していますか?

import npyscreen 
import datetime 
import threading 
from time import sleep 

class MainForm(npyscreen.Form): 
    def create(self): 
     self.add(npyscreen.FixedText, value = "Time") 

    def afterEditing(self): 
     self.parentApp.setNextForm(None) 

    def set_value(self): 
     return "Tom" 

class TestApp(npyscreen.NPSAppManaged): 

    def onStart(self): 
     self.registerForm("MAIN", MainForm()) 

     thread_time = threading.Thread(target=self.update_time,args=()) 
     thread_time.daemon = True 
     thread_time.start() 

    def update_time(self): 
     while True: 
      # self.f.wStatus2.value = datetime.datetime.now().ctime() 
      # self.f.wStatus2.display() 
      sleep(1) 

if __name__ == "__main__": 
    App = TestApp() 
    App.run() 

は、これまでのところ、私はこれを持っています。私は何をしなければならないのですか?

答えて

0

次のような変数にnpyscreen.FixedTextを割り当てる必要があります:

def create(self): 
    self.w_time = self.add(npyscreen.FixedText, value = "Time") 

今、あなたがそれにアクセスするためにself.w_time.valueを使用することができます。

+0

本当にありがとうございました! – cjm2671

+0

大歓迎です! – chbchb55

関連する問題