要向 Qt 的 MainWindow 中插入一个自定义的 QWidget 窗口,可以使用布局管理器来实现。以下是一个示例代码:
#include <QMainWindow>
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
class CustomWidget : public QWidget {
public:
CustomWidget(QWidget *parent = nullptr) : QWidget(parent) {
QLabel *label = new QLabel("Custom Widget", this);
QPushButton *button = new QPushButton("Click me", this);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(label);
layout->addWidget(button);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow mainWindow;
CustomWidget customWidget;
mainWindow.setCentralWidget(&customWidget);
mainWindow.show();
return app.exec();
}
在这个示例中,我们创建了一个继承自 QWidget 的自定义类 CustomWidget。在构造函数中,我们实例化了一个 QLabel 和一个 QPushButton,并使用 QVBoxLayout 布局管理器将它们添加到 CustomWidget 上。
然后,在主函数中,我们创建了 QMainWindow 的实例 mainWindow 和 CustomWidget 的实例 customWidget。通过调用 setCentralWidget
将 customWidget 设置为 mainWindow 的中央部件(central widget)。最后显示主窗口并进入应用程序的事件循环。
请注意,以上代码假设你已经包含了必要的头文件并链接了相应的库。此外,你可以根据需要进行进一步的调整和修改。
内容由零声教学AI助手提供,问题来源于学员提问