Beeware-Android的线程问题

2024-05-17 06:32:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Beeware for Android构建了一个带有线程的本机应用程序示例。 它也适用于Windows,但不适用于Android。下面是我的示例代码

我的第一份申请

import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW

import threading

import time

class test(toga.App):

def startup(self):
    main_box = toga.Box(style=Pack(direction=COLUMN, padding=5))

    mannual_btn = toga.Button('Mannual', on_press=self.send_set_mode, style=Pack(width=100, padding_left=10))
    self.addr_label = toga.Label('IP:',style=Pack(padding=5))
    

    main_box.add(mannual_btn)
    main_box.add(self.addr_label)



    self.main_window = toga.MainWindow(title=self.formal_name)
    self.main_window.content = main_box
    self.main_window.show()

def send_set_mode(self,widget):
    print("hello")
    self.addr_label.text = "Hello"
    threading.Thread(target=self.start_listen, args=()).start()

def start_listen(self):
    # self.main_window.confirm_dialog("INFO", "start_listen")
    start_time = time.time()
    last_time = time.time()
    while True:
        if time.time() - last_time > 1:
            print("[{:.2f}] Hello".format(time.time() - start_time))
            self.addr_label.text = "{:.2f} Hello".format(time.time() - start_time)
            last_time = time.time()

def main():
    return test()

Tags: importselfboxhellotimestylemaintoga