zoukankan      html  css  js  c++  java
  • Qt之ui在程序中的使用——(3)动态加载ui

    image

    loadui.h

    #ifndef LOADUI_H
    #define LOADUI_H
    
    #include <QtGui/QDialog>
    #include "ui_loadui.h"
    
    class loadUi : public QDialog
    {
    	Q_OBJECT
    
    public:
    	loadUi(QWidget *parent = 0, Qt::WFlags flags = 0);
    	~loadUi();
    
    private:
    	Ui::loadUiClass ui;
    	private slots:
    		void sl_creatChild();
    };
    
    #endif // LOADUI_H

    loadui.cpp

    #include "loadui.h"
    #include <QtUiTools/QtUiTools>
    
    loadUi::loadUi(QWidget *parent, Qt::WFlags flags)
    	: QDialog(parent, flags)
    {
    	ui.setupUi(this);
    	connect(ui.btnCreatChild,SIGNAL(clicked()),this,SLOT(sl_creatChild()));
    }
    
    loadUi::~loadUi()
    {
    
    }
    
    void loadUi::sl_creatChild()
    {
    	QUiLoader loader;
    	QFile file("forms/child.ui");
    	file.open(QFile::ReadOnly);
    	QWidget *widget_child = loader.load(&file);
    	file.close();
    	widget_child->show();
    }

    main.cpp

    #include "loadui.h"
    #include <QtGui/QApplication>
    
    int main(int argc, char *argv[])
    {
    	QApplication a(argc, argv);
    	loadUi w;
    	w.show();
    	return a.exec();
    }
    

    因为本示例中用到了QUiLoader类,需要image

    ,还有资源里应该加载child.ui的路径。(<qresource><file>forms/child.ui</file></qresource>)


  • 相关阅读:
    与eolinker api集成
    为什么要用eolinker帮助API开发
    什么是Eolinekr
    使用Eolinker加快您的API开发
    java反射
    mybatis-查询过程
    mybatis初始化过程
    mybatis的插件分析
    web.xml中的ContextLoaderListener和DispatcherServlet区别
    css+js杂记
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/2771077.html
Copyright © 2011-2022 走看看