您当前的位置: 首页 > 

龚建波

暂无认证

  • 4浏览

    0关注

    313博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

《QDebug 2020年3月》

龚建波 发布时间:2020-03-05 21:16:09 ,浏览量:4

一、Qt Widgets 问题交流 1.QSqlatabase多线程操作

根据文档:

每个数据库连接只能在创建它的线程操作,但是数据库连接操作是线程安全的,也就是说我们可以每个线程单独建立连接。

参考文档: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()虚函数。也有人用了一种很挫的方式,但是可以不继承:

二、Qt Quick 问题交流 1.当其他控件具有焦点时,Map地图上有个白色方块

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

关注
打赏
1655829268
查看更多评论
立即登录/注册

微信扫码登录

0.0599s