Qt之ui在程序中的使用——(3)动态加载ui
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();
}
,还有资源里应该加载child.ui的路径。(<qresource><file>forms/child.ui</file></qresource>)
作者:韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


浙公网安备 33010602011771号