如何在主窗口中显示窗口小部件

Gan*_*alf 5 qt qt4 qt-designer

我有一个项目海军陆战队员,我有以下文件结构.

marines.pro

形式

iran.ui marines.h

iran.h marines.h

来源

iran.cpp main.cpp marines.cpp

我在项目海军陆战队员中添加了小部件iran.

这是marines.cpp

#include <QtGui>
#include "marines.h"
#include "iran.h"


marines::marines(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::marines)
{
    ui->setupUi(this);
    connect(ui->actionExit, SIGNAL(triggered()), this, SLOT(close()));
    connect(ui->actionIran, SIGNAL(triggered()), this, SLOT(ir()));
}

void marines::ir()
{
//slot to display iran ui inside my main window
}

marines::~marines()
{
    delete ui;
}
Run Code Online (Sandbox Code Playgroud)

这是我的iran.cpp

#include "iran.h"
#include <QtGui>

iran::iran(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::iran)
{
    ui->setupUi(this);
}

iran::~iran()
{
    delete ui;
}
Run Code Online (Sandbox Code Playgroud)

我如何显示我在qt设计器中制作的小部件?

blu*_*kin 12

这一切都取决于您希望窗口小部件的显示方式.

  1. 您可以在MainWindow中的中央窗口小部件中添加布局,并将自定义窗口小部件添加到布局中
  2. 如果您希望自定义窗口小部件是MainWindow的centralWidget,则使用setCentralWidget
  3. 如果您希望自定义窗口小部件作为子窗口,则将MdiArea添加到您的MainWindow.然后将自定义小部件添加到MdiArea.
  4. 如果您只想将自定义窗口小部件显示为窗口,那么只需"widget.show()"

最好看看Qt的例子,以了解如何使用MainWindow.