В моем приложении есть объект QDockWidget
, в котором содержится объект QWidget
. Когда мое приложение запускается, все выглядит нормально. Однако когда я переместил виджет из QDockWidget
(вытащил его из виджета Dock), я внезапно получил 10 строк предупреждающего сообщения на моей консоли:
2011-10-23 21:06:22.296 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.298 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.299 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.300 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.300 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.301 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.302 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.303 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.304 PerformanceVisualization[42898:903] invalid drawable
2011-10-23 21:06:22.304 PerformanceVisualization[42898:903] invalid drawable
Моя основная функция заключается в следующем:
int main(int argc, char *argv[])
{
srand(1);
QApplication app(argc, argv);
PerformanceModule *performanceModuleWidget = new PerformanceModule();// a QWidget object
QMainWindow window;
QDockWidget *performanceDockWidget = new QDockWidget(QObject::tr("Performance Visualization"), &window);
performanceDockWidget->setWindowTitle("Performance Visualization Dock");
performanceDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea);
performanceDockWidget->setWidget(performanceModuleWidget);
//performanceDockWidget->show();
window.addDockWidget(Qt::LeftDockWidgetArea, performanceDockWidget);
//window.menuBar()->addAction(performanceDockWidget->toggleViewAction());
//performanceDockWidget->hide(); // explicitly hidden
window.show();
return app.exec();
}
Как я могу решить эту проблему?
Я видел подобный вопрос здесь: QGLWidget в QScrollArea говорит "недопустимое рисование" , и на основании этого поста я попытался удалить все setFixedSize()
функция внутри моего виджета и заменить их на setMinimumSize()
функцию, но это не решило проблему. Есть похожий опыт? Как ты это решил?