QT多个ui文件使用

在使用QT做应用程序的时候几乎都会用到比较多的对话框,下面内容讲解下如何使用多个ui文件进行设计。注:下面使用的是Ubuntu16.04下的QT5

首先先建立一个工程,编译后结果如下:

 

上面只有一个按钮,现在我们新建一个ui,然后点击该按钮来调用新建的ui

 

 

 

 

 

 然后一路默认就可以来

现在我们需要在mainwindow.h文件中定义一个刚才新建的对象:

头文件中包含ui类的头文件

#include "dialog.h"

然后在private:里面定义一个对象:

Dialog dia;

 

 

 然后在按钮槽函数中添加

dia.exec();

 

 

 编译一下就后运行点击按钮就会弹出刚才新建的窗口。

但现在问题是如何访问窗口中的资源呢?

首先添加必要的头文件,在mainwindow.h文件中包含两个头文件

#include "dialog.h"
#include "ui_dialog.h"

第一个是类的声明,第二个是ui资源相关的头文件

 

 

 接下来需要修改dialog.h文件中类的部分,最开始新建ui的时候默认新建的类中ui是私有属性,现在由于其他类需要访问这个类,所以此时需要将其属性修改为公有。
如图所示:

 

 

 然后在新建的ui界面文件中随便放置一下控件。

现在回到mainwindow.cpp文件中,在按钮的槽函数中写:

void MainWindow::on_pushButton_clicked()
{
    dia.ui->pushButton->setText("CNN");
    
    dia.exec();
}

 

 

然后编译,我们发现点击按钮后会弹出窗口,且窗口上的按钮的文本变为了“CNN”

 

 这样就可以访问另一个ui中的控件了。

 

posted @ 2019-09-28 20:41  LSWen  阅读(4843)  评论(0编辑  收藏  举报