• 5687阅读
  • 3回复

请教如何在designer生成的子窗口中绘图? [复制链接]

上一主题 下一主题
离线omss
 

只看楼主 倒序阅读 楼主  发表于: 2011-04-13
看网上的例子,绘图时都是写一个paintEvent函数。
我现在想在designer生成的一个窗口中绘图,具体如下图所示,是一个graphicsView构件。
请教这个paintEvent函数该如何写?
是mainwindow:: paintEvent,还是graphicsView::paintEvent?
如果是前者,它的坐标系显然跟graphicsView是不一样的,
如果是后者,要自己定义一个类吗? 这个自定义的类如何跟designer生成的graphicsview发生关系呢?
谢谢!

离线飘流

只看该作者 1楼 发表于: 2011-04-13
需要自己定义一个类,在里面写paintEvent,其基类与你在Designer里面加入的控件的基类相同。在Designer中使用Promote把graphicsView Promote成你写的那个类。
其实想要做绘图的话在designer里面加个QWidget就可以了
离线omss

只看该作者 2楼 发表于: 2011-04-13
原来promote是干这个的!
多谢楼上!
离线omss

只看该作者 3楼 发表于: 2011-04-15
上面的例子,在graphicsView里重写paintEvent绘图不行,换成QFrame就好了,不知什么原因
快速回复
限100 字节
 
上一个 下一个