我使用的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.这种错误
求解释,与解决办法
QT中Widget画图问题
答案:3 悬赏:70
解决时间 2021-04-21 23:57
- 提问者网友:血樱陌殇
- 2021-04-21 08:19
最佳答案
- 二级知识专家网友:木子香沫兮
- 2021-04-21 08:30
if(ui.widget->rect().contains(qcursor::pos())) qcursor::pos()返回当前光标所在位置qpoint
全部回答
- 1楼网友:瘾与深巷
- 2021-04-21 10:52
1、可以直接在mainwindow中画
2、重写一个类,继承于widget,按照你的想法在widget.cpp中写重绘函数paintEvent代码
说不清你这么做为什么不行,貌似没见过这么玩的。
怀疑是不是你在画完之后,调的mainwindow::paintEvent(),你画的东西被覆盖了??
- 2楼网友:一只傻青衣
- 2021-04-21 09:49
同问,题主解决了吗?
我也是写了 继承 Qwidget的子类,重写 paintEvent ,其中绘图仍然报错
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯