Skip to content

Conversation

@wineee
Copy link
Member

@wineee wineee commented Apr 16, 2025

Log: enterEvent(QEvent *) has changed to enterEvent(QEnterEvent *) in qt6, mark func as override is is really important

Log: enterEvent(QEvent *)  has changed to enterEvent(QEnterEvent *) in qt6, mark func as `override` is is really important
@deepin-ci-robot
Copy link
Contributor

deepin pr auto review

代码审查意见:

  1. 代码注释:在SplitBar类的构造函数中添加注释说明setCursor(Qt::SizeHorCursor);这行代码的用途,以便其他开发者理解其目的。

  2. 代码风格:在SplitBar类的头文件中,将事件处理函数的声明改为使用override关键字,这有助于在编译时检查函数是否正确重写了基类中的虚函数。例如:

    void mousePressEvent(QMouseEvent *e) override;
    void mouseMoveEvent(QMouseEvent *e) override;
    void mouseReleaseEvent(QMouseEvent *e) override;
    void enterEvent(QEvent *) override;
    void leaveEvent(QEvent *) override;
    void paintEvent(QPaintEvent *event) override;
  3. 条件编译:在enterEvent函数中,使用条件编译来处理不同版本的Qt。虽然这是必要的,但建议在注释中说明为什么需要这样做,以及不同版本Qt之间的差异。

  4. 事件处理:在mouseReleaseEvent函数中,QPointF()应该替换为e->pos(),以确保正确地获取鼠标释放时的位置。例如:

    Q_EMIT splitbarPosChanged(m_screenName, e->pos(), m_window, true);
  5. 资源管理:在SplitBar类的析构函数中,如果需要释放资源,应该确保资源的正确释放,避免内存泄漏。

  6. 代码可读性:在enterEventleaveEvent函数中,setWindowOpacitysetCursor的调用顺序可以调整,以提高代码的可读性。例如,先设置光标,再设置透明度。

  7. 错误处理:在mousePressEventmouseMoveEventmouseReleaseEvent函数中,如果需要处理鼠标事件,应该添加错误处理逻辑,以防止未处理的异常。

  8. 性能优化:在paintEvent函数中,如果绘制操作非常频繁,可以考虑使用QPainter的优化功能,如beginNativePaintingendNativePainting,以提高绘制性能。

  9. 安全性:在处理用户输入的事件时,应该确保输入的数据是安全的,避免潜在的注入攻击。

  10. 代码维护:在代码中添加适当的日志记录,以便在出现问题时能够快速定位和解决问题。

综上所述,代码的改进主要集中在代码风格、注释、错误处理、性能优化和安全性等方面。通过这些改进,可以提高代码的可读性、可维护性和性能。

@justforlxz justforlxz merged commit a833ad3 into linuxdeepin:master Apr 16, 2025
4 of 6 checks passed
@deepin-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: justforlxz, wineee

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@wineee wineee deleted the splitbar branch April 16, 2025 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants