QT在主界面中,调用另外一个界面的控件

2021-10-22  本文已影响0人  c之气三段

主界面:mainwindow
第二个界面:secondwin
在主界面的头文件mainwindow.h里另外添加如下引用:

#include "secondwin.h"
//如果只需要在mainwindow中调出secondwin只需要添加第一条
#include "ui_secondwin.h"
//添加该引用后可以调用secondwin中的控件

mainwindow.h中添加secondwin的继承类

private:
    SecondWin *secwin;

将secondwin.h里的private修改为public

public:
   Ui::SecondWin *ui;

以上步骤做完,即可以在mainwindow中调用secondwin的界面以及其控件

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    secwin =new SecondWin(this);//创建secondwin窗体对象
    secwin->setWindowFlags(Qt::Window);//使secwin作为一个窗口,而不是控件
    //调用界面
    connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(ShowSec()));
    //调用另一个界面的控件
    connect(secwin->ui->SecBtn,SIGNAL(clicked()),this,SLOT(ToShowDiff()));//如果secwin->ui不能够指出secwin中的控件的话,请在mainwindow.h中添加#include "ui_secondwin.h"
}

MainWindow::~MainWindow()
{
    delete ui;
}
上一篇下一篇

猜你喜欢

热点阅读