根据文档:
每个数据库连接只能在创建它的线程操作,但是数据库连接操作是线程安全的,也就是说我们可以每个线程单独建立连接。
参考文档:https://doc.qt.io/qt-5.12/threads-modules.html#threads-and-the-sql-module
参考文档:https://doc.qt.io/qt-5.12/qsqldatabase.html
参考博客:https://www.cnblogs.com/findumars/p/5595571.html
2.QMessageBox去除按钮QMessageBox默认是带有OK按钮的,如果设置 setStandardButtons(QMessageBox::NoButton); 那么直接连标题栏的关闭按钮也没法用了。
参照别人的博客,可以这样写:
QMessageBox msgBox;
msgBox.setText("Test QMessageBox");
msgBox.setWindowTitle("title");
msgBox.addButton(QMessageBox::Ok);
msgBox.button(QMessageBox::Ok)->hide();
msgBox.exec();
为什么不直接hide还要先addButton呢,因为默认ok按钮是在exec执行时没有找到任何按钮才默认生成的。
参考博客:https://blog.csdn.net/qq_34458219/article/details/80086374
3.QProgressBar进度条显示小数该组件默认显示整数,如果需要显示小数,可以继承并重写text()虚函数。也有人用了一种很挫的方式,但是可以不继承:
Control2的Menu弹出的时候,Map地图上有个白色块,无论Menu是否在地图组件之内,不知道是否受到了其他的影响(此外有个悬浮在Map上的ListView选中效果触发时也有白色块),待解决。
(如下图左侧)
(2020-04-29)问题已解决,通过将Map或上级设置透明度为 0.99 可解决
Map {
opacity: 0.99
}
参考Qt Bug反馈:https://bugreports.qt.io/browse/QTBUG-62463
2.Control2中Button的icon图标颜色默认情况下会指定图标颜色,以使其与处于不同状态的文本颜色匹配。为了使用具有原始颜色的图标,请将颜色设置为 transparent。(示例中我的图标本来是天蓝色,设置了transparent才显示原本的颜色):
Button{
text: "btn"
icon.color: "transparent"
icon.source: "qrc:/code.png"
}
参考文档:https://doc.qt.io/qt-5.12/qtquickcontrols2-icons.html
三、其他问题1.Qt Creator 纯C/C++项目,UTF8编码CMD窗口中文显示乱码
Windows的命令行窗口默认是GBK编码的,所以用UTF8出现乱码,可以使用chcp 65001命令将cmd的代码页修改为utf-8。(该方法修改后只能输出中文,不能输入中文)
参考博客:https://www.cnblogs.com/cmicat/p/3602271.html