我正在尝试在NPSAppManaged应用程序的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()
我只是不确定如何从线程引用窗口小部件的.value
参数并更新它。我该怎么办?
答案 0 :(得分:0)
您需要将npyscreen.FixedText
分配给变量:
def create(self):
self.w_time = self.add(npyscreen.FixedText, value = "Time")
现在您可以使用self.w_time.value
来访问它。