Qt 小技巧(9-14)

9. QtCreator 中qdebug() log 无法输出问题解决

QtCreator->Projects->Run->Run in terminal 取消勾选
在这里插入图片描述

10. 数据库中增加和删除一列

 ALTER TABLE gdoorder ADD FlexDel VARCHAR(1)  default 0 not null; 
 ALTER TABLE gdoorder drop column FlexDel ;

注意: 添加时,not null要放在default 0之后, 否则会报错

'ORA-30649:missing directory keyword

11. Qt插件加载失败 (QPluginLoader::load()方法返回false,没有任何提示)调试策略:

增加环境变量export QT_DEBUG_PLUGINS=1,打开调试信息。比如:
在这里插入图片描述
提示插件内部找不到符号COMP_CTx_free, 网上查到该符号是openssl库中的一个方法, ldd -r命令发现显示有很多未定义的符号, 查看插件工程的pro 文件发现,该插件应该链接libssl库和libcrypto库(pro文件中有-llibssl -llibcrypto),ldd命令并没有列出libssl和libcrypto。查看 /usr/libs/发现有libssl和libcrypto带版本号的库。
解决方法:
建立libssl.so 和 libcyrpto.so链接:

ln -s libssl.so.1.0.2 libssl.so
ln -s libcrypto.so.1.0.2 libcrypto.so

12. ldd命令查看依赖库小技巧

通常使用ldd libxx直接查看libxx库依赖的库,如果有依赖库找不到,会在=>后面提示出来,但是, 对某些特殊情况,有问题的依赖库没有列出来,很难看出有没有问题。
使用参数-r可以更直观: ldd -r libxx
,但是不能指出是否缺少某些符号,需要加上 -r参数 。
在这里插入图片描述

13. 当在结构体中定义bool类型数据时,要特别注意给结构体初始化,至少要给bool类型成员初始化。

在项目中遇到两次这种情况,在没有给bool类型成员赋值的时候,使用了它,很大概率,读取的是一个非零值,因为这块内存中不可能刚好是0. 导致了莫名其妙的问题,不该是true的时候读出来是true。

14. 界面布局对不齐问题。

gradelayout默认是会把每个元素对齐,但是有些情况下比如元素比较多,界面比较复杂时,可能会出现对不齐的情况。这种情况需要打破布局,重新手动对齐元素,再做layout。
比如:
下面这个界面圈出的文本1和文本2和QLineEdit都没有对齐。打破layout以后发现所有的文本和lineEdit都没对齐。手动对齐以后再做layout,问题解决。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值