Qt易错总结

一、编译相关

建议用qmake !!!,cmake坑点太多!!!

1.自定义控件识别不了

cmakelist加上
include_directories(${PROJECT_SOURCE_DIR}/你自定义控件的相对路径)

2.添加模块(以QCharts为例)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Charts LinguistTools)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Charts LinguistTools)

二、c++相关

1.头文件

invalid use of incomplete type ‘***‘

没引入头文件,例如QMouseEvent没引入《QmouseEvent>,就会报错,而且自动不全不了QMouseEvent相关的东西

2.继承

xxx is inaccessible in this context

继承的时候没public ,例如:

class A : public QWidget//这样外界是可以访问到QWidget的方法的

但是

class A: QWidget//这样就不行!!!

ndefined reference to `MyButton::mousePressEvent

mousePressEvent是父类的虚方法,子类要实现的话要先声明。在头文件加上

protected:
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);

即可

三、UI相关

1.自定义的控件没法设置背景色

找个QWIdget当这个自定义控件的父级,设定QWidget的背景即可

参考:

QT中的 容器(container)-大全_qt 容器-CSDN博客

c++和QT子类调用父类同名方法_qt 子类调用父类方法-CSDN博客

使用C 库函数 - sprintf()对QString进行Format(格式化)_qstring format-CSDN博客

使用C 库函数 - sprintf()对QString进行Format(格式化)_qstring format-CSDN博客

QString字符串操作_qstring format-CSDN博客

【QT学习六】QTextEdit-CSDN博客

【Qt 学习之路】QSerialPort处理串口通信-CSDN博客

QConsoleWidget.cpp · 学艺不精的安东/QConsoleWidget - Gitee.com

【项目六】基于QPlainTextEdit的模拟控制台IO的Qt控件_qpaintextedit 实现teminal-CSDN博客

Qt学习笔记9——P30-33. 自定义控件封装,鼠标事件,定时器 - 我会变强的 - 博客园 (cnblogs.com)QT控制界面鼠标_qt鼠标事件 只绑定控件-CSDN博客

QT 事件报错 moc_mybutton.cpp:-1: error: undefined reference to `MyButton::mousePressEvent(QMouseEvent*)_moc文件undefined reference to-CSDN博客

QtCMake工程提升类后找不到头文件_qt提升类找不到头文件-CSDN博客

Qt 错误提示1: invalid use of incomplete type ‘***‘_invalid use of incomplete type 'class qmouseevent-CSDN博客

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值