当前位置:  编程技术>c/c++/嵌入式

Qt之ui在程序中的使用-多继承法介绍

    来源: 互联网  发布时间:2014-10-11

    本文导语:  thirdDialog.h 代码如下: #ifndef THIRDDIALOG_H #define THIRDDIALOG_H #include #include "ui_third.h" class thirdDialog:public QDialog,private Ui::Third { Q_OBJECT public: thirdDialog(QWidget *parent=0); ~thirdDialog(); }; #endif thirdDialog.cpp #include "thirdDialog.h" thirdDialog::thirdDialo...

thirdDialog.h
代码如下:

#ifndef THIRDDIALOG_H
#define THIRDDIALOG_H
#include
#include "ui_third.h"
class thirdDialog:public QDialog,private Ui::Third
{
Q_OBJECT
public:
thirdDialog(QWidget *parent=0);
~thirdDialog();
};
#endif

thirdDialog.cpp
#include "thirdDialog.h"
thirdDialog::thirdDialog(QWidget *parent)
{
setupUi(this);
}
thirdDialog::~thirdDialog()
{
}

maindialog.h
代码如下:

#ifndef MAINDIALOG_H
#define MAINDIALOG_H
#include
#include "ui_first.h"
#include "ui_second.h"
#include "thirdDialog.h"

class MainDialog : public QDialog
{
Q_OBJECT
public:
MainDialog(QWidget *parent = 0, Qt::WFlags flags = 0);
~MainDialog();
private:
Ui::First firstUi;
Ui::Second secondUi;
private slots:
void on_btnChild_clicked();
};
#endif // MAINDIALOG_H

maindialog.cpp
代码如下:

#include "maindialog.h"
MainDialog::MainDialog(QWidget *parent, Qt::WFlags flags)
: QDialog(parent, flags)
{
QTabWidget *tabWidget = new QTabWidget(this);
QDialog *w1 = new QDialog;
firstUi.setupUi(w1);
QWidget *w2 = new QWidget;
secondUi.setupUi(w2);
tabWidget->addTab(w1,tr("First Tab"));
tabWidget->addTab(w2,tr("Second Tab"));
tabWidget->resize(300,300);
connect(firstUi.btnClose,SIGNAL(clicked()),this,SLOT(close()));
connect(secondUi.btnChild,SIGNAL(clicked()),this,SLOT(on_btnChild_clicked()));
}
MainDialog::~MainDialog()
{
}
void MainDialog::on_btnChild_clicked()
{
thirdDialog *dlg = new thirdDialog;
dlg->exec();
}

分析:
多继承方式可直接对ui界面上的控件或函数进行操作,代码编写更简洁;
而是用单继承方式,在操作ui页面上的控件时需加上ui对象前缀,编写代码较为麻烦。
但,对于程序中所需ui页面较多时,使用单继承法则要灵活的多。。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何使用linux下gdb来调试python程序
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • 使用libpcap实现抓包程序的步骤及代码示例
  • 请教下,应用程序使用通过驱动程序使用设备的过程
  • 在Python中使用SWIG调用C和C++程序
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • asp程序使用的access在Linux下如何使用!
  • 哪位高手可以提供使用C/C++编CGI程序中,使用和设置Cookie的例子。为谢!!!
  • JSP和Servlet程序设计使用专辑---的程序代码哪有?
  • java的应用程序中如何定义一个全局变量,在程序的任何地方都可以修改使用?
  • Linux下写服务程序,程序可以使用配置文件动态链接库吗?
  • 使用GDB调试程序,如何正确的向程序传递参数.
  • 在ACC变成中要使用发ftp传送文件,但文件名不确定,请问怎么样在程序的FTP中使用字符串变量???
  • 应用程序为普通用户所有,不改变其所有,如何在程序中使用超级用户级别的函数啊
  • 怎么写个CGI程序获取远程linux主机的信息,如cpu使用率,内存使用等?
  • 为何程序中可以使用简体中文,不可以使用 big5 码的繁体中文
  • fork~exec不会使用,请问怎么使用,我只是想简单的用进程调用一个程序。
  • 急!哪位朋友在aix系统下配置过apache+tomcat ? 它所使用的apache+tomcat程序,是否可以用在linux下的程序是一样的 ? 在哪儿可以下载
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • 如何使用crontab来定时执行一个.php的程序
  • 请问这样在技术上是否可行?(我自己写一个程序来监听我的系统上的端口,有些端口已经被别的应用使用,我能够使用什么方法再去监听这个端
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3