Gar*_*her 6 c++ qt qdockwidget
Qt 5.5.0
在我的应用程序中,我有一个 QGraphicsView 作为主要小部件和一个 QDockWidget 作为属性。目标是让用户在图形视图中选择一个项目,并根据该项目显示该项目的适当属性。
我通过使用属性管理器小部件来实现此目的,该小部件的布局包含每个属性小部件。我连接了信号和插槽来获取当前选定的项目,然后显示()我需要的小部件并隐藏()其余部分。
这太棒了!但是,当选择不同的项目时,停靠栏会根据显示的小部件缩小或增大。这是非常刺耳的,而且相当烦人。但问题是,当用户手动调整扩展坞的大小时,它会保持该大小。我希望保留的大小是默认的,而不是这种自动调整大小的行为。
我尝试过的事情:
我尝试更改扩展坞和主窗口的 sizePolicy():没有效果。
我已经为属性管理器设置了最小大小,这确实可以防止在显示较小的属性集时缩小扩展坞。但是,我仍然希望用户能够根据需要将扩展坞缩小到更小的尺寸,而这种方法可以防止这种情况发生......
结论:
当用户调整扩展坞大小时是否设置了一个标志或其他内容,告诉它保持该大小?如果可以的话,有没有办法手动设置呢?
我还没有尝试子类化 QDockWidget 或 QMainWindow 。是否有我可以覆盖的方法来实现正确的行为?
谢谢你的帮助!
所需要的只是打电话
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
Run Code Online (Sandbox Code Playgroud)
在我的属性管理器小部件的构造函数中(QDockWidget 的中央小部件)
我还重载了 sizeHint() 函数以返回可观的默认大小。
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |