对于Qt的动态加载ui界面到指定位置方法

对于Qt的动态加载ui界面到指定位置方法

此处加载方法是往容器里面加载,例如:QWidget
pro文件中必须添加
CONFIG += uitools
否则会出错

.h文件
#include 
#include 
#include 

普通的加载方法:

QUiLoader loader;

QFile file(":/forms/third.ui");

file.open(QFile::ReadOnly);

QWidget *third = loader.load(&file);

file.close();

third->show()

导入时要注意ui文件的位置,因为动态加载ui界面,ui界面必须在生成文件下面。
还要注意QWidget的名字,方便findchild找到需要加载的容器。

QString strPath = QDir::currentPath() + "/UI/xxx.ui";
    qDebug()<<strPath;

    QFile contentFile(strPath);
    QUiLoader loader;
    contentFile.open(QFile::ReadOnly);
    contentUI = loader.load(&contentFile);
    contentFile.close();
    contentUI->setWindowFlag(Qt::FramelessWindowHint);
    contentUI->setParent(this->findChild<QWidget*>("contentArea"));
    this->findChild<QWidget*>("contentArea")->resize(contentUI->width(),contentUI->height());
    contentUI->show();

你可能感兴趣的:(c++,qt)