标题:Qt开发经验小技巧226-230
作者:liudianwu
日期:2022-06-30 20:34
内容:
226. qtc开发工具内置了不少的函数,可以很方便的进行一些判断和处理。
```cpp
//最小版本要求
!minQtVersion(5, 15, 2) {
message("Cannot build Qt Installer Framework with Qt version $${QT_VERSION}.")
error("Use at least Qt 5.15.2.")
}
```
227. 有时候文本框中的内容过长,而文本框默认光标在尾部,所以要主动设置下将光标移到最前面
```cpp
//三种方法都可以
ui->lineEdit->setSelection(0, 0);
ui->lineEdit->setCursorPosition(0);
//样式表方式
"QLineEdit{qproperty-cursorPosition:0;}
```
228. 关于Qt浏览器模块的几点说明。
- Qt5.6以前用的是webkit,Qt5.6版本以后分两种情况,一种是mingw编译器(windows系统)对应的Qt库不再提供浏览器模块。
- Qt5.6以后的版本在linux系统和mac等系统,都不存在没有浏览器控件的情况,都使用的是webengine。
- 仅仅是windows上的mingw编译器的Qt版本没有,其他系统其实都有的。很多人在这个地方都有疑问,都以为只有msvc编译器有浏览器控件,其实确切的说是在windows上msvc的Qt库带浏览器控件。
- 安装Qt的时候webengine模块默认不勾选,需要主动勾选才会安装。
- 也不是所有的msvc的Qt版本都有webengine浏览器模块,哪怕你勾选了也没用,有些版本官方并没有编译,需要自行编译。需要到对应的Qt安装目录查看是否有 Qt5WebEngine.dll 文件。
- 如果仅仅是为了弥补mingw版本缺失浏览器模块的遗憾,推荐用miniblink。
- 如果为了统一兼容各种版本和系统,推荐用cef。
- 如果没有历史包袱,推荐用webengine,与Qt的集成度高。
- webkit和miniblink默认都不支持gpu,webengine默认走gpu。
- qwebengine默认不支持MP4,需要自己重新编译。
229. 关于编译数据库插件的几个经验总结。
- 安装对应的数据库,安装后会有include头文件和lib链接库文件,这是基本的前提,编译数据库插件必须要有这两个东西。务必注意,32位的Qt必须安装32位的数据库才能正常编译成功,位数要一致。
- 准备好数据库插件源码,比如qt-everywhere-src-5.14.2\qtbase\src\plugins\sqldrivers\mysql,可以在安装Qt的时候勾选src,或者后期直接官网重新下载源码解压出来。
- 打开你要编译的数据库插件源码,比如mysql就打开mysql.pro,oracle就打开oci.pro。
- 在pro中注释掉一行 #QMAKE_USE += mysql,如果是oci项目则是#QMAKE_USE + ..