Qt5中动态对话框(用QtUiTools /QUiLoader实现)的各种问题

来源:互联网 发布:mac文件怎么转word 编辑:程序博客网 时间:2024/06/05 19:24

#include <QtUiTools>

编译的时候出现错误:QtUiTools: No such file or directory

在.pro里加上QT += uitools 重新qmake后编译通过(一定要重新qmake)


之后

  1. QUiLoader loader;  
  2. QFile file("a.ui");  
  3. QWidget * widget = loader.load(&file);  
  4. if(widget)  
  5.     widget->show();  

编译通过,但是有运行时错误:

Designer: An error has occurred while reading the UI file at line 1, column 0: Premature end of document.

只要新建一个资源文件(.qrc)把界面文件(.ui)放入,然后修改代码

  1. QUiLoader loader;  
  2. QFile file(":/new/a.ui");                     //将a.ui文件放到资源文件的new前缀下
  3. QWidget * widget = loader.load(&file);  
  4. if(widget)  
  5.     widget->show(); 
重新qmake后编译通过运行正常(一定要重新qmake)。

原创粉丝点击