在 C++ 中,您可以通过将一个 QWidget 添加到另一个 QWidget 的布局中来实现在 widget 中添加 widget。具体而言,您需要执行以下步骤:
- 创建要添加的 QWidget 对象。
- 创建要添加到的 QWidget 对象,并使用
setLayout()
函数设置其布局。 - 将第一步创建的 QWidget 添加到第二步创建的 QWidget 的布局中。
下面是一个示例代码,演示如何将一个 QPushButton 添加到一个 QLabel 内部:
#include <QApplication>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建QPushButton和QLabel对象
QPushButton *button = new QPushButton("Click me");
QLabel *label = new QLabel("Hello World");
// 创建一个垂直布局
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(button);
// 将QPushButton添加到QLabel的布局内
label->setLayout(layout);
// 显示窗口
label->show();
return app.exec();
}
在上面的示例代码中,我们首先创建了一个 QPushButton 和一个 QLabel。然后,我们创建了一个 QVBoxLayout 对象,将 QPushButton 添加到该布局中。最后,我们将 QLabel 的布局设置为该 QVBoxLayout 对象,从而将 QPushButton 添加到 QLabel 内部。最后,我们显示 QLabel 控件,并运行应用程序。