Qt中怎样将widget 添加到mainwindow?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中怎样将widget 添加到mainwindow?相关的知识,希望对你有一定的参考价值。

在Qt中,要将一个QWidget(包括QMainWindow)添加到另一个QWidget中,可以使用setCentralWidget()方法。

下面是一个简单的示例代码,演示如何将一个QWidget添加到QMainWindow中:

#include <QMainWindow>#include <QWidget>int main(int argc, char *argv[])    QApplication app(argc, argv);    // 创建一个QMainWindow对象
QMainWindow *mainWindow = new QMainWindow();    // 创建一个QWidget对象
QWidget *myWidget = new QWidget(mainWindow);    // 将myWidget设置为mainWindow的中心窗口部件
mainWindow->setCentralWidget(myWidget);    // 显示主窗口
mainWindow->show();    return app.exec();

在这个示例中,我们首先创建了一个QMainWindow对象,然后创建了一个QWidget对象,并将它的父对象设置为QMainWindow。接着,我们使用setCentralWidget()方法将QWidget对象设置为QMainWindow的中心窗口部件。最后,我们显示了QMainWindow。

通过这种方法,我们就可以将一个QWidget添加到QMainWindow中。

参考技术A 在Qt中,如果想将一个 widget 添加到 mainwindow,您可以使用以下步骤:
1 在 mainwindow 的界面文件中拖放一个 widget 元素。
2 在 mainwindow 的 .cpp 文件中,创建一个 widget 对象。
3 将该 widget 对象设置为 mainwindow 的布局。
例如:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QWidget>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)

ui->setupUi(this);

// 创建 widget 对象
QWidget *widget = new QWidget(this);

// 设置布局
setCentralWidget(widget);

MainWindow::~MainWindow()

delete ui;

在以上代码中,我们创建了一个 widget 对象,并将其设置为 mainwindow 的中央部件。您可以对该 widget 进行其他布局和设计操作。
参考技术B 1、可以使用QMainWindow的setCentralWidget函数来将widget添加到mainwindow中。
#include <QApplication>
#include <QMainWindow>
#include <QWidget>
int main(int argc, char *argv[])

QApplication a(argc, argv);
QMainWindow window;
QWidget widget;
window.setCentralWidget(&widget);
window.show();
return a.exec();

2、可以通过QMainWindow的布局管理器添加widget:
#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include <QVBoxLayout>
int main(int argc, char *argv[])

QApplication a(argc, argv);
QMainWindow window;
QWidget *centralWidget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout;
centralWidget->setLayout(layout);
window.setCentralWidget(centralWidget);
window.show();
return a.exec();

Qt C++: 怎样在两个MainWindow或者Widget之间交换数据

请问c++里不同的类(在不同文件里)之间可以交换数据吗?比如从Class B向Class A要一个int,如果Class B 和 Class A 不在同一个文件中,这个int会被B看到吗?请写一个简单的例子;
请问Qt的widget之间可以交换数据吗?比如一个是widget是地图,另一个是表格,可以在单机表格的时候也在地图中显示相应的物体吗?请写一个简单的例子。
谢谢!

参考技术A 不同类之间交换数据,全局变量;
Widget与Widget之间交换数据,用信号槽(siagnal/slot)追问

谢谢!可以写一个简单的例子吗?比如从Class A里向Class B里要一个int,那是不是这样:
intCopied = connect(A::callB(),SIGNAL(triggered()),BObject,SLOT(B::returnArray));

...谢谢

参考技术B 类与类之间,widget与widget之间是一样的。自定义信号,然后手动emit信号

以上是关于Qt中怎样将widget 添加到mainwindow?的主要内容,如果未能解决你的问题,请参考以下文章

Qt C++: 怎样在两个MainWindow或者Widget之间交换数据

QT关于Qlayout动态替换其中的widget

qt的qfile中怎样添加内容到txt文档中?

Qt中添加自定义位置Widget

Qt 中按钮点击不响应问题

qt 怎么为外围的widget添加边框