【发布时间】:2020-10-14 15:21:44
【问题描述】:
我有一个 pyGObject 应用程序并运行它。一切正常,直到点击按钮信号我需要运行一个def。它有一个很长的循环,我用
def on_launch_btn_clicked(self,button):
_thread.start_new_thread(launch,["thread"])
def launch(thread):
lines_list = open("../line.txt").split()
for line in lines_list:
select = machinestate.objects.get(id=1)
if not select.pause:
#my process
else:
def pause_lcd()
return "pause" #it for come out of def and close thread but I don't know it close that or not
这个循环在另一个 .py 文件中
函数它就像一个魅力,接下来我有一个暂停按钮,它将数据库暂停字段更改为 True,并且我的循环每次迭代检查数据库以查看更改的内容。当它看到 pause 为 True 时,它运行
def pause_lcd():
app = app_list[0]
app.pause_action()
我在这个 def 中运行 Gtk 应用程序
app_list = list()
def main(thread):
app = GUI()
app_list.append(app)
Gdk.threads_init()
Gtk.main()
在我的 GUI 类中,我有 pause_action 方法
def pause_action(self):
self.pause_btn.set_sensitive(True)
self.pause_btn.hide()
self.resume_btn.show()
当我点击暂停按钮时,我得到了这个错误
[xcb] Unknown sequence number while processing queen
[xcb] Most likely this is a mulity-threaded client and XinitThreads has not been called
[xcb] Aborting, sorry about that
pyhton: ../../src/xcb_io.c:263 poll_for_event: Assertion '!xcb_xlib_threads_sequence_lost failed.
我有一堆线程,比如机器信息、时钟、机器温度和......
我做错了什么??
PS:这个应用程序在一个 Django 项目中运行,我在这个项目中使用 Django 模型,它是 Django 的一个应用程序,但它运行一个 Gtk 应用程序
【问题讨论】:
标签: gtk3 pygtk xlib pygobject xcb