基于图形视图框架遇到的一些列有关问题
基于图形视图框架遇到的一些列问题我写的一个小程序,仿照Qt的例子里面的padnavigator这样一个旋转面板的效
基于图形视图框架遇到的一些列问题
我写的一个小程序,仿照Qt的例子里面的padnavigator这样一个旋转面板的效果
现在又两个问题,(1)在场景中我还嵌入式了一个自制的标题栏的窗口,使用QGraphicsProxyWidget类嵌入这个窗体,可是原本根据鼠标点击事件点击标题栏可以移动窗口却不行了,程序就死掉了,我调试了下是一个什么信号错误,原本在 QWidget体系里面是可用的,是因为在场景视图中信号传递不一样出问题了吗?有经验的能详解下吗?
(2)就是在图形视图框架中的使用布局管理器的,我因为就2个大窗体,我就用设置固定位置来布局,中间我也尝试了下QGraphicsView中的布局管理器,不过它好像都是针对QGraphicsWidget,QGraphicsItem或者是自己继承改造的类用了提示错误,我看了帮助文档是用这个QGraphicsLayoutItem去自己弄可以被布局管理器管理的对象吗? 请问这种混合的,如果窗体比较多要怎么使用布局管理,有详细介绍的例子吗?
[解决办法]
鼠标移动,应该放到mouseMoveEvent中实现,
[解决办法]
移动view的代码应该是在处理QGraphicsProxyWidget代理对象的鼠标移动事件函数中,应该是:
(this->scene()->views())[0]->move(x, y);
其中scene函数返回QGraphicsProxyWidget代理对象所在的场景,views函数返回所有正在显示该场景的view的指针序列(因为同一个scene可以同时被多个view显示),我想你应该只在一个view中显示你的scene,所以[0]表示取指向第一个显示scene的view的指针,最后move函数表示移动这个view,其中的x,y就是你想要它移动到的位置。语法上可能要再加括号,我没有实际试,你试试看。方法应该是这样的。