QT的报错

一、看到 LNK2019 无法解析外部符号

👉 99% = 头文件声明了函数,.cpp 没写函数体

例子:

plaintext

复制代码
MainWindow::on_ageChanged(int)
  • 头文件有:void on_ageChanged(int);
  • cpp 里没有:void MainWindow::on_ageChanged(int){}

口诀:LNK2019 = 有头无身


二、看到 C2664 无法从 XXX 转换为 YYY

👉 类型不匹配

你之前遇到:

plaintext

复制代码
QWidget* 不能转 QMainWindow*
  • 继承写错了

还有:

plaintext

复制代码
QString 不能转 int
  • Q_PROPERTY 类型乱绑

口诀:C2664 = 类型对不上


三、看到 moc_xxx.cpp 报错

👉 一定是 .h 里的信号、槽、Q_PROPERTY 写错了

moc 文件不是你写的 ,是 Qt 自动生成的。它报错 = 你的类定义、信号槽、属性语法违规

口诀:moc 报错 = 头文件信号槽 / 属性错


四、看到 QObject::connect: No such slot

👉 槽函数名字写错、参数不匹配、没有加 slots:

口诀:No such slot = 槽不存在 / 名字错


五、看到 Undefined reference to vtable

👉 纯虚函数没实现 或 类没有 moc 编译 最常见:忘记运行 qmake

口诀:vtable 错 = 清理、重新 qmake


六、看到 No such signal

👉 信号名字或参数不对

plaintext

复制代码
signals:
    void ageChanged(int);

连接时写成 ageChanged(QString) → 报错

口诀:No such signal = 参数 / 名字不匹配


七、看到 Qt Designer 界面不生效

👉 没调用 ui->setupUi (this) 或 基类不匹配

你之前就是:

  • UI 是 QMainWindow
  • 类继承 QWidget→ 直接爆炸

口诀:UI 基类必须和代码继承一致


八、看到 程序崩溃 + 报错 SIGSEGV

👉 野指针、访问空对象、delete 多次

最常见:

  • ui->btn->setText(""); 但 btn 还没创建
  • 对象没 new 就用

口诀:崩溃 = 空指针 / 越界

相关推荐
大丑哥14 小时前
QT QML 中实现高亮功能
qt
小白不想画工图17 小时前
银河麒麟V10系统安装QT5.12
linux·开发语言·qt·银河麒麟
mengzhi啊18 小时前
QEventLoop loop配合loop.exec();替代while(1)。电脑cpu占用为0,使用while(1)cpu占用率100%
c++·qt
@福者21 小时前
C++ QT 入门
开发语言·c++·qt
长友cy21 小时前
Qt官方示例BluetoothLowEnergyGame源码阅读
开发语言·qt
Quz21 小时前
QML 日期解析:字符串转日期与时间戳互转
qt
Coodor21 小时前
信创系统基于QT5操作NFC读写器
开发语言·qt·智能卡·nfc读写器·yw-607hc
励志不掉头发的内向程序员21 小时前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构
沧海一笑-dj1 天前
【Qt】Qt6.11安装教程详解
qt·qt creator·qt6·qt安装·qt安装教程
似水এ᭄往昔1 天前
【QT】--常用控件(QWidget的核心属性)
服务器·开发语言·qt