问题标签 [qscrollarea]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
20357 浏览

qt - 如何在 QScrollArea 中隐藏滚动条?

如何隐藏滚动条QScrollArea?目前我hide()在返回的滚动条上使用该方法,QScrollArea::horizontalScrollBar()QScrollArea::verticalScrollBar()为滚动条保留的空间仍然存在。显然,这看起来很丑陋,而且不节省空间。如果我完全移除滚动条,我将无法再使用QScrollBar::setValue().

0 投票
2 回答
8973 浏览

qt - 如何向父 QWidget 添加滚动条

我了解如何将 scrollArea 添加到特定的小部件。但是在我的情况下,Qwidget 有多个子小部件,这些都是使用 QVBoxLayout 设置的。现在在这种情况下如何添加滚动条?这里 QWidget 不是中心小部件,它是 TabWidget 的页面之一。我的代码如下所示:

现在如何将滚动条设置为 xTab?我尝试使用

但是,这不起作用。

任何想法/建议都是有帮助和赞赏的。

0 投票
7 回答
14073 浏览

c++ - QScrollArea 内的 QSpinBox:如何防止 Spin Box 在滚动时窃取焦点?

我在 QScrollArea 中有一个带有几个 QSpinBox 对象的控件。在滚动区域中滚动时一切正常,除非鼠标恰好位于其中一个 QSpinBoxes 上。然后 QSpinBox 窃取焦点,并且滚轮事件操纵旋转框值而不是滚动滚动区域。

我不想完全禁用使用鼠标滚轮来操作 QSpinBox,但我只希望它在用户明确单击或进入 QSpinBox 时发生。有没有办法防止 QSpinBox 从 QScrollArea 窃取焦点?

正如在下面对答案的评论中所说,设置 Qt::StrongFocus 确实会阻止焦点矩形出现在控件上,但是它仍然会窃取鼠标滚轮并调整旋转框中的值并阻止 QScrollArea 滚动。与 Qt::ClickFocus 相同。

0 投票
1 回答
2056 浏览

qt - QBoxLayout 在调整其包含 ScrollArea 的大小时拉伸其小部件,而不是滚动

我有一个 ScrollArea,其中包含一个包含多个标签的 VBoxLayout:

但是,当查看布局不滚动时,它会垂直拉伸(收缩?)项目:

QLabels 都聚在一起

我尝试过使用最小高度,但这似乎不起作用 - 我该怎么做才能使每个标签单独出现并导致滚动视图滚动?

0 投票
1 回答
234 浏览

qt - 如何找出 QScrollArea 中滚动的数量

我有一个包含 QWidget 的 QScrollArea。滚动区域只允许垂直滚动。如何找出 QWidget 滚动了多少像素?我在文档中找到了 scrollContentsBy() ,但没有找到等效的 getter。任何帮助,将不胜感激。

0 投票
1 回答
5187 浏览

layout - PyQt QScrollArea 不滚动

我想将我的 UI 的一些元素放在滚动区域中,因为它们可能很多。我尝试了以下代码,但是随着我在上面添加更多元素,该区域不断增长。

在第一部分中,我设置了一个滚动区域、一个小部件和一个布局。我将布局应用于小部件,并将小部件设置为滚动区域。然后我在一个外部函数中填写我的布局。它下面的按钮允许在布局中填充更多元素。

我的元素看起来不错,但它没有滚动。任何想法 ?

0 投票
1 回答
1566 浏览

qt - 将 QFrame 添加到 QScrollArea 内的 QGridLayout 会中断滚动

我正在开发一个需要基于窗口大小的可滚动 QGridLayout 的 GUI。我的解决方案是将其嵌套在 QScrollArea 中。只要我只将标准小部件添加到 QGridLayout,它就可以工作。

当我切换到将我的小部件添加到 QFrame,然后像之前一样将该框架添加到网格布局时,网格布局不再滚动,而是尽可能多地压缩网格布局的所有行以将它们全部包含在内。

为什么是这样?有没有解决方法或不同的方法来做到这一点?我应该提到我使用 QFrame 的唯一原因是对在将小部件添加到网格布局时创建的“单元格”的背景进行风格化。

0 投票
2 回答
2992 浏览

qt - QScrollArea 不尊重 contentMargins 设置

QScrollArea出于某种原因,contentMargins在我将QGraphicsView设置为其小部件时忽略了该设置。看看下面的片段,有人可以告诉我是我做错了什么还是SDK中的错误?

片段 1(完美运行):

片段 2(就像setContentMargins()调用被完全忽略):

谢谢。

0 投票
1 回答
1506 浏览

qt - 如何知道 QListWidgetItem 是否被滚动隐藏?

好吧,我是 Qt 的新手,我有一个问题。

我的 UI 中有一个 QListWidget,其中包含 7 个项目,仅显示 4 个项目,其他项目在使用滚动条后显示。我想在 QListWidet 上方和下方显示一个箭头图像,而不是显示更多要滚动的项目。

好的,我可以查看一个项目是否被隐藏,但它是否被 setHidden() 函数隐藏。什么时候被滚动隐藏?我可以在运行时看到这个吗?因为该项目在那里,但滚动隐藏它,对吧?

我在这里搜索了一些关于此的帖子,但我没有找到。对不起我的英语,可能会感到困惑,但如果有人可以帮助我......

非常感谢!

0 投票
2 回答
3742 浏览

resize - 设置 QScrollbar 宽度以防止需要水平滚动条

有没有办法设置 a 的宽度QScrollArea以便不需要水平滚动条?我知道我可以通过将其策略设置为始终关闭来隐藏水平滚动条。但是,我想让QScrollArea它足够大以至于不需要它。

我目前正在通过使用scrollbar.setFixedWidth(). 有没有更好的方法,类似scrollbar.setSizetoContents()或类似的东西?

作为旁注,无论如何,获得布局中所有小部件的最大宽度的最佳方法是什么?