您的位置:首页 > 产品设计 > UI/UE

Qt之ui在程序中的使用——(3)动态加载ui

2012-11-15 10:28 507 查看




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类,需要



,还有资源里应该加载child.ui的路径。(<qresource><file>forms/child.ui</file></qresource>)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: