2
我有不同类型的QWidgets的成DockWindow:同时滚动不同的窗口小部件
- 1 QWT情节
- 1 QWidget的
- 3的QGraphicsView
我需要滚动所有当我放大时,它们同时具有相同的滚动条。我知道两种解决方案:
- 创建一个滚动条并将其连接到每个控件。
- 创建一个scrollArea并操作所有小部件。
什么是最好的解决方案呢?你知道任何scrollArea教程吗?
谢谢你这么多
我有不同类型的QWidgets的成DockWindow:同时滚动不同的窗口小部件
我需要滚动所有当我放大时,它们同时具有相同的滚动条。我知道两种解决方案:
什么是最好的解决方案呢?你知道任何scrollArea教程吗?
谢谢你这么多
我会尽量做到让每个需要在演唱会滚动的物品是自己的QScrollArea
内。然后,我会将所有这些小部件放入一个小部件中,并在底部(和/或侧面,如果需要的话)使用QScrollBar
。
指定其中一个内部滚动小部件作为“主”,可能是小部件。然后执行以下操作:
QScrollArea
的水平滚动条策略设置为永不显示滚动条。QScrollArea
的horizontalScrollBar()
的rangeChanged(int min, int max)
发信号给一个插槽,该插槽将主控件的水平线QScrollBar
设置为相同的范围。另外,它应该为其他滚动区域控件的水平滚动条设置相同的范围。QScrollBar
的valueChanged(int value)
信号应该连接到每个滚动区域小部件的水平滚动条的setValue(int value)
插槽。有一个地方,我认为这可能会出错,那是鼠标滚轮滚动。你可以通过几种方法解决这个问题。一种方法是将所有滚动区域连接到一个插槽,该插槽在其值发生更改时触发,这会更新所有其他滚动条。另一种方法是在这些小部件上安装事件过滤器,并忽略滚动或使用主滚动条处理它。
非常感谢你cjhuitt。 – Drewen 2009-12-31 03:03:47