我是靠谱客的博主 受伤戒指,最近开发中收集的这篇文章主要介绍部件提升为自定义类1、提升Qwidget为自定义类,无法画图2、缺少Q_OBJECT导致undefined reference to vtable,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1、提升Qwidget为自定义类,无法画图
目的是在DockWidget画图,现在Dock上用设计师放置了Qwidget容器。在新建了class类文件,创建自定义类,然后将部件提升为自定义的类。出现如下错误undefined reference "vtable for ...h"等莫名的错误。后来发现自定义类的构造函数没有给父类构造函数进行初始化,也就是没有加":"后面的内容。
cnoisewidget::cnoisewidget(QWidget *parent):
QWidget(parent)
{ }
QWidget *parent 中的 parent 值赋值给父类 QWidget(parent) 中的 parent。
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(QPen(Qt::red,2,Qt::DashLine));
painter.setBrush(Qt::yellow);
painter.setFont(QFont("aaa",40,700,true));
painter.drawText(QPoint(100,100), "Hello world");
painter.drawEllipse(QPoint(100,100),70,50);
2、缺少Q_OBJECT导致undefined reference to vtable
忘记了载新建类头文件中添加Q_OBJECT,直接编译会导致"undefined referenct to vtable for classname"出现。解决方法是增加Q_OBJECT用于信号与槽机制,删除项目目录中的.user文件(与机器配置环境相关),点击菜单栏构建-清除项目,再重亲构建一次,执行菜单栏构建-执行qmake,然后重新编辑即可。
最后
以上就是受伤戒指为你收集整理的部件提升为自定义类1、提升Qwidget为自定义类,无法画图2、缺少Q_OBJECT导致undefined reference to vtable的全部内容,希望文章能够帮你解决部件提升为自定义类1、提升Qwidget为自定义类,无法画图2、缺少Q_OBJECT导致undefined reference to vtable所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复