zoukankan      html  css  js  c++  java
  • 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中的控件了。

  • 相关阅读:
    [BFS]luogu P2536 [AHOI2005]病毒检测
    AtCoder Regular Contest 116 总结
    NOI online 2021 #1 总结
    博客半复活
    vue2 Bus兄弟组件间传值问题:重复触发和首次未触发
    ant design中table组件的filter,如何在外部控制
    ant design vue 日期排序
    什么是断点续传?前端如何实现文件的断点续传
    主vue前端面试题补充
    P4248 [AHOI2013]差异 题解
  • 原文地址:https://www.cnblogs.com/listenscience/p/11604765.html
Copyright © 2011-2022 走看看