写QT程序里运行时加载UI文件,代码如下:

点击(此处)折叠或打开

  1. #include "keyboard.h"
  2. #include <QtUiTools>
  3. #include <QWSInputMethod>
  4. #include <QVBoxLayout>
  5. #include <QFile>
  6. Keyboard::Keyboard(QWSInputMethod *im)
  7. : QWidget(0, Qt::Tool | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint)
  8. {
  9. QUiLoader loader;
  10. m_im = im;
  11. QFile file(":/keyboard.ui");
  12. file.open(QFile::ReadOnly);
  13. QWidget *uiWidget = loader.load(&file, this);
  14. file.close();
  15. QVBoxLayout *layout = new QVBoxLayout;
  16. layout->addWidget(uiWidget);
  17. setLayout(layout);
  18. }

运行时产生以下错误:
"Designer: An error has occurred while reading the UI file at line 1, column 0: Premature end of document."
经分析原来是因为QFile file(":/keyboard.ui")这语句打开的文件以:\开头的文件名是在QT资源文件中定义的文件,而我的QT项目中并没有资源文件。因此要么去掉":/", 要么定义QT资源文件qrc,并在.pro文件中加入此资源文件:

RESOURCES += \resources.qrc

转载于:https://www.cnblogs.com/lvdongjie/p/5098934.html

QT运行时加载UI文件相关推荐

  1. Linux系统程序运行时加载动态库路径顺序

    程序运行时加载动态库路径顺序(Linux) 在linux系统中,如果程序需要加载动态库,它会按照一定的顺序(优先级)去查找: 链接时路径(Link-time path)和运行时路径(Run-time ...

  2. linux直接运行程序加载动态库失败,扣丁学堂Linux培训详解程序运行时加载动态库失败解决方法...

    今天扣丁学堂Linux培训老师给大家介绍一下关于Linux程序运行时加载动态库失败的解决方法,希望对同学们学习有所帮助,下面我们一起来看一下吧. Linux下不能加载动态库问题 当出现下边异常情况 . ...

  3. spark运行时加载hive,hdfs配置文件

    以前我用spark连接hive都是把hive的配置文件放在spark的conf目录,后来有个项目在运行时才能确定要连接哪个hive源,我就找了个能在运行时加载配置文件的方法,代码如下: import ...

  4. java 运行 加载jar,java运行时加载额外的 jar 包或 class

    首先讲下java类加载的顺序 每个类加载器有自己的名字空间,对于同一个类加载器实例来说,名字相同的类只能存在一个,并且仅加载一次.不管该类有没有变化,下次再需要加载时,它只是从自己的缓存中直接返回已经 ...

  5. php-fpm 无法运行cli,linux-怎样让php在cli与fpm环境下运行时加载不同的扩展?

    问题: 由于开启了 xdebug 扩展, 导致使用 composer 时提示: You are running composer with xdebug enabled. This has a maj ...

  6. 【前端优化】Externals 实现运行时加载依赖

    webpack(vue-cli 自带) 中的 externals 配置选项提供了从输出的 bundle 中排除依赖的方法.防止将某些(自己配置)依赖打包,而是在项目运行时(runtime)从外部加载这 ...

  7. SAP CRM WebClient UI运行时加载哪个configuration,到底是如何决定的

  8. SAP UI5 application component运行时加载的奥秘

    Created by Jerry Wang, last modified on Aug 09, 2015 shell openSomething getServiceConfig parseShell ...

  9. 动态播放外部FLV 文件和预加载 FLV 文件

    /***************** wgscd (c)2005 ' qq:153964481 e-mail:wgscd@126.com  blog:http://blog.csdn.net/wgsn ...

  10. 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集...

    其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内,后来仔细看了一下方法体的时候发现了一个问题,就是现有的Sy ...

最新文章

  1. mvn项目中的pom文件提示Error parsing lifecycle processing instructions解决
  2. 地图之CLLocationManager的使用 定位功能使用
  3. 点云处理不得劲?球卷积了解一下
  4. Android仿IOS的AssistiveTouch的控件EasyTouch实现
  5. 对抗训练浅谈:意义、方法和思考(附Keras实现)
  6. Traceback (most recent call last)AttributeError: ‘NumpyArrayIterator‘ object has no attribute ‘ndim‘
  7. 景观分析工具:arcgis中patch analysis模块
  8. 西南科技大学OJ题 利用二叉树中序及先序遍历确定该二叉树的后序序列0984
  9. 罗伊 我的火箭我的处 (原创)
  10. PCAN-View如何保存报文?
  11. chrome误删书签恢复
  12. 计算机桌面来回闪烁,电脑桌面图标一直闪
  13. 融新聚力,筑梦畅行|云畅科技“融云计划”第一期集训营圆满结营
  14. 微信企业号__开发记录__二次验证
  15. 极限编程-拥抱变化阅读感想(二)
  16. oracle load data用法,Dataload 使用说明
  17. Android 图文混排 异步加载图片
  18. 古代时辰计时与现代时间换算
  19. c语言的程序运行原理图,C语言main函数的原理详解
  20. 【万字长文】手摸手教你shell脚本编程

热门文章

  1. 前端那些事之日历多选插件篇
  2. WPF学习(一)--布局控件简介
  3. 很喜欢博客园这个平台
  4. mongodb 的 GridFS 详细分析(二)
  5. javascript上传图片前预览
  6. linux tc 对本机网卡限速
  7. 请教大家, 关于 $0118 号消息
  8. Android Studio Gradle 缓存文件夹设置
  9. oracle帐号永久生效,[Linux] alias永久生效
  10. oracle10g rac导出ocr,Oracle RAC OCR磁盘故障快速恢复方法