Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Gtk CRITICAL**:IA_ugtk_widget_style_get:assertion`Gtk_IS_widget(widget)和#x27;失败_Qt_Ubuntu_Build_Widget_Gtk - Fatal编程技术网

Qt Gtk CRITICAL**:IA_ugtk_widget_style_get:assertion`Gtk_IS_widget(widget)和#x27;失败

Qt Gtk CRITICAL**:IA_ugtk_widget_style_get:assertion`Gtk_IS_widget(widget)和#x27;失败,qt,ubuntu,build,widget,gtk,Qt,Ubuntu,Build,Widget,Gtk,在静态构建qt应用程序之后 ./configure -static -debug-and-release -confirm-license -nomake demos -nomake examples -nomake tools 它工作正常,但我收到几个输出消息: (MyApplication:32030): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)' failed 是否真的有

在静态构建qt应用程序之后

./configure -static -debug-and-release  -confirm-license -nomake demos -nomake examples -nomake tools 
它工作正常,但我收到几个输出消息:

(MyApplication:32030): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)' failed
是否真的有一个关键问题,我应该用不同的选项重建qt吗


任何帮助都将不胜感激。

这有点晚了,但希望能为其他人节省一些时间

对我来说,这个错误是由两个因素共同造成的:
QCleanlooksStyle
QTableWidget
。在ubuntu上,默认样式是
QCleanlooksStyle
qgtksStyle
(继承自
QCleanlooksStyle
)。当
QTableWidget
使用这些样式中的任何一种绘制时,我看到了这个错误。我的解决方案是这样的:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    a.setStyle(new QPlastiqueStyle());

    MainWindow w;
    w.show();

    return a.exec();
}

我在Qt的静态构建中也遇到了这个问题。若将此代码放在main方法中的所有其他代码之前,则问题会消失:

#ifdef Q_WS_X11
    qputenv("LIBOVERLAY_SCROLLBAR", 0);
#endif

在PyQt5中,可以使用以下代码来避免该问题

app = QApplication()
app.setStyle('Fusion')

我认为这是GTK+风格的问题。

谢谢!这确实是一个关于清洁外观风格的问题。对我来说,有时我的应用程序窗口会扩展到令人难以置信的维度(如果有QTextWidget等小部件)。但在切换到“融合”后,这两个问题都消失了。什么?你能详细说明一下这个答案吗?这本身不是有效的代码。