我是Qt编程的新手,我正在开发一个绘图应用程序。我有一个类MyWidget
有一个成员QGraphicsView
。 MyWidget
是另一个类MainWidget
的成员(它还有其他小部件,所有这些都在布局中).MainWidget是我的QMainWindow
子类的中心小部件。
我创建了使用鼠标滚轮事件缩放视图的功能以及拖动场景的功能。
问题是 - 我想将场景的大小设置为固定,并且是视图大小的3倍,但由于视图由布局管理以便占用尽可能多的空间我无法获得查看大小?
任何帮助赞赏。
size
属性将为您提供窗口小部件的当前大小:
http://qt-project.org/doc/qt-4.8/qwidget.html#size-prop
或者,您可以继承QGraphicsView并重新实现resizeEvent
:
http://qt-project.org/doc/qt-4.8/qwidget.html#resizeEvent
有关完整示例,请查看:
你绝对可以获得视图的大小。有两种方法可以解决它:
myView->installEventFilter(filterObject)
。 filterObject
的eventFilter
方法将被用于所有到达您视图的事件,包括调整大小事件。resizeEvent
。每次调整窗口小部件时都会调用此方法。请注意,设计器允许您添加自定义类,而无需编写插件。