C++ QDialog在添加新部件时将部件绘制为黑色

C++ QDialog在添加新部件时将部件绘制为黑色,c++,qt,qwidget,qdialog,C++,Qt,Qwidget,Qdialog,我正在编写一个QDialog,以允许从程序的其余部分导出数据。该对话框根据前面给出的答案以一系列问题的形式提问。可以提出三种不同类型的问题,分别是QComboBox、QList或QCheckbox。当显示QComboBox时,这是正常的,但是当显示另外两个时,它会导致其他小部件被涂成黑色 [作品] [不起作用] ExportOption* option = new ExportOption(question, type, nullptr); ui_->optionsLayout_->

我正在编写一个
QDialog
,以允许从程序的其余部分导出数据。该对话框根据前面给出的答案以一系列问题的形式提问。可以提出三种不同类型的问题,分别是
QComboBox
QList
QCheckbox
。当显示
QComboBox
时,这是正常的,但是当显示另外两个时,它会导致其他小部件被涂成黑色

[作品] [不起作用]

ExportOption* option = new ExportOption(question, type, nullptr);
ui_->optionsLayout_->insertWidget(shownOptions_.size(), option);
adjustSize();
只有当对话框需要调整大小时才会发生这种情况,如果有足够的空间开始,它不会显示为黑色。此外,无论何时由于调整大小或任何其他原因重新绘制对话框,它都是固定的,但是如果我手动调用对话框或其子对象的update\repain,则似乎什么都不会发生

我想我遗漏了一些相当简单的东西


我正在Windows上使用Qt5.1。

谢谢大家的帮助,但结果证明它是一个错误的样式表。

你能展示你的adjustSize()方法吗?adjustSize()方法是由
QWidget
提供的。啊,对不起。多年没有做过QWidget了,自从QML出现以来就没有做过。当您更改要显示的对话框类型时,是否添加/删除小部件?如果是这样的话,试着创建一个包含所有小部件的对话框,并根据需要隐藏和显示所需的小部件。我不希望走这条路,因为对话框不应该知道驱动它的模型(它可以导出一些不同的东西)。每次给出答案时,都会创建一个
ExportOption
,并将其添加到布局中,该布局本身只是一个小部件,包含标签和所需的小部件类型。