我希望动态添加控件,并且可以自由设置位置和大小,就像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); 复制代码
解决问题最快的方式还是阅读源码!