我希望动态添加控件,并且可以自由设置位置和大小,就像ui文件中那样:
嵌套结构如下:
.ui文件最终会生成cpp代码,看了下生成的界面源代码,发现只需要在new的时候指定parent即可
dockWidget = new QDockWidget(MainWindow);
dockWidgetContents = new QWidget();
openGLWidget = new QOpenGLWidget(dockWidgetContents);
openGLWidget->setGeometry(QRect(20, 0, 300, 200));
lineEdit = new QLineEdit(dockWidgetContents);
lineEdit->setGeometry(QRect(70, 270, 471, 81));
dockWidget->setWidget(dockWidgetContents);
百度了好多教程,上边写的都是使用layout,但是这样子会导致我无法控制位置
QWidget* widget = new QWidget();
QVBoxLayout* layout = new QVBoxLayout();
QPushButton* btn= new QPushButton();
layout->addWidget(btn);
widget->setLayout(layout);
解决问题最快的方式还是阅读源码!