可滚动的背景与可调整大小的Qt小部件

时间:2016-06-10 12:21:26

标签: c++ qt

我想创建一个

的Qt窗口
  1. 可以通过拖动其背景滚动/平移(不应显示滚动条)
  2. 在定义的位置包含多个子窗口小部件(使用背景滚动)
  3. 子窗口小部件可以通过拉动边框来调整大小
  4. 我目前管理的是使用QGraphicsView http://doc.qt.io/qt-5/qgraphicsview.html#dragMode-prop创建setDragMode(QGraphicsView::ScrollHandDrag)。然后我将子窗口小部件放在QGraphicsScene上,但是,这不允许通过拉动边框来调整子窗口小部件的大小。 我还尝试从QDialog继承我的自定义子窗口小部件类,它允许setSizeGripEnabled(true)。但是,这并没有调整其内容的大小,QDialog可能不是QGraphicsView的一部分。

    有什么建议吗?如果子窗口小部件的行为类似于也可以在标题栏上拖动的子窗口,只要它们无法关闭并且在拖动背景时移动它们也是可以的。

1 个答案:

答案 0 :(得分:2)

您可以将QMdiArea类放在一边(Qt文档:QMdiArea)。根据问题描述,这是你需要的。 当然,您可以使用Graphics View Framework,但我认为这将更加困难。如果您选择这样的方法,非常有用的将是课程QGraphicsWidget(Qt文档:QGraphicsWidget)。