QT中Widget画图问题 20

我使用的mainwindow的模板,在ui界面中加入了一个widget。我想在这个widget中画直线。我的做法是,在mainwindow.h写了重绘函数paintEve... 我使用的mainwindow的模板,在ui界面中加入了一个widget。
我想在这个widget中画直线。
我的做法是,在mainwindow.h写了重绘函数paintEvent,在对应的.c文件中重写了方法。但是,由于我不要在mainwindow画图,是在其中指定名字(假设名字叫WW)的widget中画图,我就将
QPainter painter(this) (可以画出直线) 改为
QPainter painter(this->ui->WW)

程序可以执行,但其后的画图语句没有画出,还有
QWidget::paintEngines:should no longer be called.这种错误
求解释,与解决办法
展开
 我来答
王启儿123
2014-12-18 · TA获得超过1446个赞
知道小有建树答主
回答量:1135
采纳率:61%
帮助的人:197万
展开全部
1、可以直接在mainwindow中画
2、重写一个类,继承于widget,按照你的想法在widget.cpp中写重绘函数paintEvent代码

说不清你这么做为什么不行,貌似没见过这么玩的。
怀疑是不是你在画完之后,调的mainwindow::paintEvent(),你画的东西被覆盖了??
追问
一定要重写widget的类么?

mainwindow::paintEvent()不能通过指定画在其中的widget上么?

没有覆盖,我把this改成this->ui->WW就没有画出线条
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e804039
2020-02-07
知道答主
回答量:17
采纳率:0%
帮助的人:6万
展开全部
同问,题主解决了吗?
我也是写了 继承 Qwidget的子类,重写 paintEvent ,其中绘图仍然报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式