【发布时间】:2013-11-07 06:28:59
【问题描述】:
我大量使用停靠小部件来让用户按照她想要的方式安排工具。我的一些停靠小部件包含静态控件(FS,固定垂直尺寸),其他描绘图像,越大越好(ES,扩展垂直尺寸)。
我面临的问题是我无法获得让我这样做的尺寸提示配置:
- 使可变大小的dockwidget尽可能大
- 让所有的dockwidgets标签页没有错误的行为
对于 1.,我可以将所有 FS 的内容小部件的垂直策略设置为“固定”。这将强制容器将所有可用空间用于可变大小的小部件。但是,一旦 ES 小部件与 FS 小部件一起被标记,而 FS 小部件未显示,我充其量是顽固的行为(用户无法调整大小)和最坏的错误行为(调整大小时,会发生绘图错误,实际大小没有改变)。
对于 2.,我可以将所有垂直策略设置为“首选”(FS)或“扩展”(ES)。这应该优先考虑 ES,但事实并非如此。我还尝试过使用 Vertical Stretch 进行操作(虽然它在其他不涉及 DockWidgets 的情况下很有帮助)。
我遇到了这样一种情况:默认情况下,应用程序会浪费空间,并且每当窗口大小/布局发生变化时,用户都必须对 dockwidget 大小进行多次调整。这是非常乏味和违反直觉的。
我该怎么做?
还有一个后续问题:如何告诉 DockWidget 它的内容具有特定的纵横比?
【问题讨论】:
-
我怀疑是否有解决方案。 QDockWidget 的行为是硬编码的,控制它的选项太少。如果您想完全控制停靠小部件的行为,您需要自己实现它。
标签: qt qt4 qdockwidget qlayout