zoukankan      html  css  js  c++  java
  • Qt之ui在程序中的使用——(1)单继承法

    ui:user interface(用户界面)

    void QWidget::setupUi ( QWidget * widget )的功能是设置用户界面到指定的部件;

    例:

    QDialog *dlg_example = new QDialog;
    Ui::example ui_example;    //ui_example是dlg_example对应的用户界面
    ui_example.setupUi(dlg_example);     //关联用户界面与程序中的对象

    程序实例(一):

    利用Qt Designer生成3个简单的ui,在使用时,两个ui插入到主程序的QTabWidget中,另一个ui由按钮触发,主窗口MyWidget采用手动编写代码的方式实现。

    效果图,如下:

    imageimage

    image

    MyWidget.h

    #ifndef MYWIDGET_H
    #define MYWIDGET_H
    
    #include <QtGui>
    #include "ui_first.h"
    #include "ui_second.h"
    #include "ui_third.h"
    
    class MyWidget : public QWidget
    {
    	Q_OBJECT
    
    public:
    	MyWidget(QWidget *parent = 0, Qt::WFlags flags = 0);
    	~MyWidget();
    
    private:
    	Ui::First firstUi;
    	Ui::Second secondUi;
    	Ui::Third thirdUi;
    	
    	private slots:
    		void on_btnChild_clicked();
    };
    
    #endif // MYWIDGET_H
    

    Mywidget.cpp

    #include "mywidget.h"
    
    MyWidget::MyWidget(QWidget *parent, Qt::WFlags flags)
    	: QWidget(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()));
    }
    
    MyWidget::~MyWidget()
    {
    
    }
    
    void MyWidget::on_btnChild_clicked()
    {
    	QDialog *dlg = new QDialog;
    	thirdUi.setupUi(dlg);
    	dlg->exec();
    }
    

    main.cpp

    #include "mywidget.h"
    #include <QtGui/QApplication>
    
    int main(int argc, char *argv[])
    {
    	QApplication a(argc, argv);
    	MyWidget w;
    	w.show();
    	return a.exec();
    }
    
  • 相关阅读:
    MFC开发编程规范(二)
    Mysql日期和时间函数大全(转)
    php获取客户端IP地址的几种方法
    postgres 查看数据表和索引的大小
    PHP应用memcache函数详解
    css自动截取文字 兼容IE firefox Opera
    JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
    Zend_Auth与Zend_Acl访问控制链
    去除所有js,html,css代码问题
    [转]那些相见恨晚的 JavaScript 技巧
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/2767149.html
Copyright © 2011-2022 走看看