• 5211阅读
  • 4回复

(已解决)如何在QGraphicsWidget中添加QAction并显示? [复制链接]

上一主题 下一主题
离线liuxu_lx7
 
只看楼主 倒序阅读 楼主  发表于: 2012-10-22
我的图像是以QGraphicsWidget为基础的,想在上面画一个ToolButton, 会关联一个QAction。 QGraphicsWidget:没有ToolButton, 只能自定义一个QGraphicsWidget,但是不知道怎么能将它关联QAction。(QGraphicsProxyWidget方案就算了)


离线liuxu_lx7
只看该作者 1楼 发表于: 2012-10-22
仅仅是在自定义的ToolButton,Press/Hover事件时, 主动触发QAction::activate ( ActionEvent event )事件么? (难道之前我想多了)
离线ggkuroky
只看该作者 2楼 发表于: 2012-10-22
Actions are added to widgets using QWidget::addAction() or QGraphicsWidget::addAction(). !
相信自己,天道酬勤!
离线liuxu_lx7
只看该作者 3楼 发表于: 2012-10-23
回 2楼(ggkuroky) 的帖子
我看到这个说明了,但是QAction本身不具备【绘画】更能力,【绘画】是由Action所在控件负责完成的吧。 比如:放在 Toolbar 上由 Toolbar类来绘制相应style的Action,放到Meun上,由Menu类来绘制。是不是这样?那我自定义的QGraphicsWidget在哪里定义绘制Action的样子?还有,一个QGraphicsWidget上也没限制只能放1个QAction, 不自己在类里存起来,也没法指定触发具体哪一个吧?
不知道思考过程是否正确~~
离线liuxu_lx7
只看该作者 4楼 发表于: 2012-10-25
解决:
QAction只是数据,相当于"MVC"里的"M"+"C" (model + control)。
缺少"V"(View), 那么自定义了一个Action作为QAction的显示, 重定义了画法(paint)。
快速回复
限100 字节
 
上一个 下一个