关于Qt显示Jpg图片程序的移植和数据库的setfilter函数的问题

在没有Qt环境的电脑上,Qt程序显示Jpg图片需要将/imageformats目录下的qjpeg4.dll复制到程序目录。数据库连接问题中,setFilter函数的正确用法是明确指定表名,如(model.setFilter((`personnel_info`.`Department ID` = 17) OR (`personnel_info`.`Department ID` = 18));,否则可能导致过滤无效。
摘要由CSDN通过智能技术生成

.

再次遇到类似和前次MySQL程序移植到没有Qt电脑上时的出现的现象,这次是图片显示的问题。

在数据库中存有一些图片,将图片读取到界面显示,写好的exe程序到了没装Qt的机子上就无法显示图片了。

再一次没有任何错误提示..不过有了前次的经验,到Qt安装目录下面的/qt/plugins下面找,果然就发现了imageformats这样一个文件夹。

将imageformats和里面的qjpeg4.dll考到程序目录下,就可以在没装Qt的电脑上也正常的显示Jpg图片了。

.

分析一下原因,Qt安装目录下的/qt/plugins目录是默认添加到系统搜索路径中的,

而qsqlmysql4.dll和qjpeg4.dll这些文件都是在plugins目录的二级子目录下面,

所以Qt程序在搜索时候会找例如"/sqldrivers/qsqlmysql4.dll"或"/imageformats/qjpeg4.dll"这样的文件,

在需要移植程序到其他电脑上,添加这些dll文件就必须连同上一级目录一起添加,不然Qt程序就会找不到链接库文件了。

.

至于为什么当缺少这些文件时候Qt程序不报错而是导致数据库连不上或者图片不显示这样就比较费解,

然道说Qt的开发者们认为这些plugins都是不影响大局的附加功能, 所以即使缺少库也要在功能不完整的情况下继续运行程序?

.

-----------------

.

另一个今天遇到的问题是关于数据库Model/View结构中TableModel里setFilter函数的,

例如在一个名为personnel_info的表中有一项Department ID,想选出Department ID为17或18的项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值