【问题标题】:python Gtk app failed with this error xcb xlib threads sequence lost failedpython Gtk 应用程序失败并出现此错误 xcb xlib 线程序列丢失失败
【发布时间】: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


    【解决方案1】:

    我怀疑 XCB 或 X11 服务器有问题(错误)。我从特定 X 服务器上的不同应用程序收到了相同的错误消息(使用 X11 over ssh)。

    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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多