如何在qt中同时移动滚动条

Posted

技术标签:

【中文标题】如何在qt中同时移动滚动条【英文标题】:how to move scrollbars simultaneously in qt 【发布时间】:2010-11-11 11:49:45 【问题描述】:

我有两个视图,它们的视角是 xy 和 xz。这些视图有自己的滚动条,并且这些视图的 x 侧是相等的。当我移动 x 个边的滚动条时,我希望 x 个滚动条同时移动。

视图类是QGraphicsView,这些视图的滚动条是它们自己的滚动条。 我怎样才能做到?任何帮助将不胜感激。

谢谢

【问题讨论】:

【参考方案1】:

如果我理解正确,您可以简单地执行以下操作(如果您使用 QScrollBar 作为滚动条)

connect(firstScrollbar, SIGNAL(valueChanged(int)), secondScrollbar, SLOT(setValue(int)));
connect(secondScrollbar, SIGNAL(valueChanged(int)), firstScrollbar, SLOT(setValue(int)));

希望这能回答您的问题并为您工作。

【讨论】:

【参考方案2】:

我在尝试同步两个 PlainTextEdits 时遇到了这个问题。为此,我还必须响应 cursorPositionChanged 信号以在使用键盘(箭头键、Page Up/Down)时同步滚动,如下所示:

firstScrollbar.connect(SIGNAL('cursorPositionChanged()')) do
  secondScrollbar.setValue(firstScrollBar.value)
end

代码示例在 Ruby 中,通过 qtbindings

【讨论】:

以上是关于如何在qt中同时移动滚动条的主要内容,如果未能解决你的问题,请参考以下文章

QT编程,如何用代码实现 QTableWidget中滚动条的移动

Qt 如何获取滚动窗体中鼠标点击的坐标

QT中如何给主窗口添加滚动条

QT 做图片缩略显示 滚动条下拉 怎么实现动态加载下面的图片?

QT MainWindow 滚动条

当用户移动器悬停在滚动条上时如何增加滚动条宽度