如何以编程方式将 Qt 小部件(QPushButton、QTextEdit、QLabel)添加到 Qt Designer 布局?

How to programmatically add a Qt widget (QPushButton, QTextEdit, QLabel) to a Qt Designer layout?

是否可以将小部件(按钮、标签等)动态添加到 Qt Designer 生成的中央小部件布局中?怎么做到的?

谢谢!

当然可以,而且很简单。您可以查看 debug/release 目录中的 ui_mainwindow.h。我更喜欢在 QtDesigner 中为小部件设置布局而不是代码。是这样的:

//set layout programatically
auto layout = new QHBoxLayout(ui->centralWidget());

//or if you have set horizontalLayout in Qt Designer
auto layout = dynamic_cast<QHBoxLayout*>(ui->centralWidget->layout());

layout->addWidget(new QLabel("hello"));