Linux上Qt程序闪退的BUG

xiaoxiao2021-02-28  138

问题现象

输出信息

[xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that

问题背景

我把一个Qt的Windows程序,移植到Linux上,然后稍微操作一下界面,就出现程序闪退,然后有上面输出。

原因分析

这个日志输出已经说明问题了。说你在用一个多线程程序,而XInitThreads没被调用。

解决办法

由于我这里是Qt程序,所以需要调用Qt的内容,去调用XInitThreads。

#include <Qt> int main(int argc, char** argv) { //注意,这句一定要在QApplication的构造函数之前调用。 QCoreApplication::setAttribute(Qt::AA_X11InitThreads, true); //... }
转载请注明原文地址: https://www.6miu.com/read-30194.html

最新回复(0)