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

发布于 2024-12-05 11:20:08 字数 1072 浏览 2 评论 0原文

我有一个项目marines,具有以下文件结构:

  • marines.pro

  • 表格

    • 伊朗.ui
    • 海军陆战队.h
  • 标题

    • 伊朗.h
    • 海军陆战队.h
  • 来源

    • 伊朗.cpp
    • main.cpp
    • 海军陆战队.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;
}

,这是我的 iran.cpp

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

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

iran::~iran()
{
    delete ui;
}

如何显示我在 Qt Designer 中制作的小部件 iran?

I have a project marines with the following files structure:

  • marines.pro

  • FORMS

    • iran.ui
    • marines.h
  • Headers

    • iran.h
    • marines.h
  • Sources

    • iran.cpp
    • main.cpp
    • marines.cpp

I added the widget iran in the project marines.

Here is 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;
}

and here is my iran.cpp

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

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

iran::~iran()
{
    delete ui;
}

How can I display the widget iran I made in Qt Designer?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪冰清 2024-12-12 11:20:08

这完全取决于您希望小部件如何显示。

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

最好查看 Qt 的示例来了解如何使用 MainWindow。

It all depends on how you want the widget to be displayed.

  1. You could add a layout to your central widget in your MainWindow and add your custom widget to the layout.
  2. If you want your custom widget to be centralWidget of the MainWindow then use setCentralWidget.
  3. If you want the custom widget as a subWindow then add MdiArea to your MainWindow. Then add custom widget to you MdiArea.
  4. If you just want the custom widget to be displayed as a window, then just use widget.show().

It's better to look at Qt's examples to understand how a MainWindow is used.

桃气十足 2024-12-12 11:20:08
marines::marines(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::marines)
{
    ui->setupUi(this); // after this
    iran *ir = new iran(); // create variable ir
    ir->show(); // show window
    ...
}
marines::marines(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::marines)
{
    ui->setupUi(this); // after this
    iran *ir = new iran(); // create variable ir
    ir->show(); // show window
    ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文