実現したいこと
下図の制御システムを構築しています。

システムはメインウィンドウクラスとサブウィンドウクラスから成り、
サブウィンドウクラスはメインウィンドウクラスのToplevelでmainloopします。
制御対象がリレーのため、確実に動作するよう一定時間(1秒程度)、信号オンの状態を保ちたいです。
ただ、信号オンした後、time.sleep(1)を実行してしまうと、
メイン・サブウィンドウともに動作が止まってしまいます。
設計的に、メイン画面が止まるのはいいのですが、サブ画面は常時シーケンサとの間で
信号をやり取りしたいので処理が止まりますと困ってしまいます。
なおthreadingを試みましたが、クラスは呼び出せないようでエラーメッセージが出ます。
(画面は表示されます。)
なにか、目的に合致しそうなライブラリを知っている方がいましたらヒントを頂けないでしょうか。
発生している問題・エラーメッセージ
エラーメッセージ TypeError: 'sub_App' object is not callable
該当のソースコード
Python
1import customtkinter 2import threading 3 4class main_App(customtkinter.CTk):5 def __init__(self):6 super().__init__()7 self.title("メイン画面")8 9class sub_App(customtkinter.CTkToplevel):10 def __init__(self):11 super().__init__() 12 self.title("サブ画面")13 14 15main_app=main_App()16sub_app=sub_App()#Toplevelで起動17 18thread1=threading.Thread(target=sub_app)19thread1.start()20 21main_app.mainloop()22

0 コメント