qt5项目到qt6过度常见bug(持续记录更新)

本文概述了在升级到Qt6时遇到的一系列问题,包括桌面API错误、布局调整、颜色设置、鼠标滚轮事件处理、绘图路径创建、列表操作和API更改等,提供了解决方法和代码示例。
摘要由CSDN通过智能技术生成

上次更新时间2024/4/16:

整理不易啊。。。。求个点赞当作动力

一、qt6报错desktop问题

QT6项目中,QApplication::desktop() 报错的问题-CSDN博客

添加#include<>

二、qt6中setMargin移除解决方法

Qt项目升级到Qt6吐血经验总结_qt什么版本有qdesktopwidgets-CSDN博客

QVBoxLayout setMargin移除了改为使用setContentsMargins代替

setContentsMargins的相关使用

[Qt setContentsMargins()函数使用说明-CSDN博客]

三、qt6中QTableWidgetItem移除setTextColor解决方法

使用来代替QTableWidgetItem->setForeground(Qcolor);

        QTableWidgetItem *tableWidgetItem = new QTableWidgetItem(iter.value().data);
        tableWidgetItem->setTextColor(iter.value().color);//qt5变化前
        tableWidgetItem->setForeground(iter.value().color);//qt6.2变化后

四、qt6QPalette中Background移除解决方案

QT6.3问题记录(持续更新)_background' is not a member of 'qpalette-CSDN博客

    QPalette palette;
    palette.setColor(QPalette::Background, QColor(30, 30, 30));//qt5
    palette.setColor(QPalette::Window, QColor(30, 30, 30));//qt6.2

五、qt6qwheelevent中不存在delat解决方法

QT6 中qwheelevent 没哟delat() - CSDN文库

Qt事件详解_qt6 qwheelevent delta-CSDN博客

Qt5.13监听鼠标滚轮的上下滚动事件QWheelEvent的angleDelta().y()-CSDN博客

Qt6中QWheelEvent的 delta() 改成 angleDelta().y()来使用(表示鼠标滚轮改变事件)

//    if(wheelEvent->delta() > 0) //qt5
    if(wheelEvent->angleDelta().y()>0)//qt6
    {
        m_cameraLibrary.moveToForward();
    }

delat(在Qt 6中,QWheelEvent' 类代表鼠标滚轮事件,delta() 函数用于**滚轮滚动的距离。滚
轮滚动的距离通常表示为一个整数,可以正数或负数,代表向.上或向下滚动的方向以及滚动的
量。)

六、Qt::Orientation返回值问题

Qt::Orientation 无法返回0 返回的值应为Qt::Orientation::Horizontal 

    enum Orientation {
        Horizontal = 0x1,
        Vertical = 0x2
    };

七、makeStar中(qrand()报错无法转化成float类型)

        //        listControl->makeStar(qrand() % MAX_SCORE + 1.5); //qrand->rand//qt5

        listControl->makeStar(rand() % MAX_SCORE + 1.5);//qrand->rand //qt6

本段更新时间2024/4/16:

八、qt6中QPainterPath创建(非指针)变量报错解决报错“Variable has incomplete type ‘QPainterPath‘”-CSDN博客

添加QPainterPath或者<qpainter.h>头文件

九、qt6中QPainterPath(绘制圆角窗口)类中addRoundRect函数变化
addRoundRect->addRoundedRect

十、(List删除)toList (foreach不用转化成.toList)

十一、HighQualityAntialiasing找不到

改为使用 QPainter::Antialiasing代替;

qt6 编译还是有些许问题,建议适配下 · Issue #I5Y5KG · graycatya/CatLearnQt - Gitee.com

十二、QWheelEvent::pos报错

QWheelEvent::pos改为 QWheelEvent::position

十三 、QWheelEvent::delat()报错;

QT6 中qwheelevent 没哟delat() - CSDN文库

QWheelEvent::delat改为QWheelEvent的angleDelta().y

 十四、QCPData没有insertMulti

    mData->insert(newData.key, newData); //用insert代替一个值一个值插入
//    mData->insertMulti(newData.key, newData);

十五、QCPAxis::orientation(0)报错

qt6中QCPAxis::AxisType被重写了 0的话没有能够接收的值

//qt6中的  Qt::Orientation orientation源码
static Qt::Orientation orientation(AxisType type) { return type==atBottom||type==atTop ? Qt::Horizontal : Qt::Vertical; }

QCPAxis::AxisType::atLeft带表第0个位置

 十五、QMAP->unite合并函数报错

qt6移除了unite函数改用 insert()插入函数代替合并效果;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值