私のアプリケーションのスレッドには何かが追加されていて、それを他の画面で印刷したいのですが、プログラムは印刷後にスレッドを実行してくれます私のリストには何もないというエラーです。私はスレッドが完了するまで、プログラムを停止する必要があります、どのように私はこれを行うことができますか?助けのためのおかげで kivy-スレッドが終了するまで待つ必要があります
私のアプリ
...私は().join使用しようとしたが、それはdidntの仕事です:私は、行を削除していた場合class LoginScreen(GridLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.cols = 2
self.add_widget(Label(text='username'))
self.username = TextInput(multiline=False)
self.add_widget(self.username)
self.add_widget(Label(text='Password'))
self.password = TextInput(multiline=False, password=True)
self.add_widget(self.password)
self.submit_button = Button(text='sumbit',size_hint=(.5,
.25),font_size=20)
self.submit_button.bind(on_press=self.submit_username)
self.add_widget(self.submit_button)
def submit_username(self, *args):
self.msg=threading.Thread(target=send_data(self.username.text))
self.msg.start()
self.msg.join()
sm.current = 'searchi'
sm.transition.direction = 'left'
def send_data(name):
my_socket = socket.socket()
my_socket.connect(('127.0.0.1', 8093))
my_socket.send(name.encode('utf-8'))
name,address = my_socket.recvfrom(1024)
msg = name.decode('utf-8')
alist.append(msg)
my_socket.close()
# Declare both screens
class Searchi(Screen):
def __init__(self, **kwargs):
super(Searchi, self).__init__(**kwargs)
self.add_widget(Label(text=alist[0]))
リストが「MSG」を持っている」self.add_widget (Label(text = alist [0])) "recv行に問題はありません。スレッドが終了するまで待つだけです。
私が投稿した回答はあなたに役立ったのですか? – Tshirtman