如何解决python Gtk应用失败,并显示此错误xcb xlib线程序列失败
我有一个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,并在每次迭代检查数据库时循环查看更改。当看到暂停为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应用程序
解决方法
我怀疑 XCB 或 X11 服务器有问题(错误)。我从特定 X 服务器上的不同应用程序收到相同的错误消息(通过 ssh 使用 X11)。
emacs 的错误信息:
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting,sorry about that.
emacs: xcb_io.c:263: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
eclipse 的错误信息:
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting,sorry about that.
java: xcb_io.c:263: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。