ich habe eine graphische Oberfläche bei der ein centralWidget und diverse DockWidget gesetzt werden. Zu jedem Widget existiert eine ui-File, die geladen wird. Daraus wird ein Widget erstellt, das dann entsprechend positioniert wird. Folgende Funktionen verwende ich dafür:
Code: Alles auswählen
QWidget* Gui::loadCentralWidgetUi(QString ui)
{
QUiLoader loader;
QFile file(ui);
if( file.open(QFile::ReadOnly) )
{
QWidget *myWidget = loader.load(&file, this);
file.close();
setCentralWidget(myWidget);
return myWidget;
}
return NULL;
}
Code: Alles auswählen
QDockWidget* Gui::loadDockWidgetUi(QString title, QString ui, Qt::DockWidgetArea area, Qt::Orientation orientation)
{
QUiLoader loader;
QFile file(ui);
if( file.open(QFile::ReadOnly) )
{
QWidget *myWidget = loader.load(&file, this);
file.close();
QDockWidget *dock = new QDockWidget(title);
dock->setWidget(myWidget);
this->addDockWidget(area,dock,orientation);
return dock;
}
return NULL;
}
Normalerweise kann man ja mittels "ui->...." auf GUI Elemente zugreifen und beispielsweise so verknüpfen:
Code: Alles auswählen
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButtonClicked()));
Danke schonaml,
tuxing