【问题标题】:What is QScrollBar::add-line?QScrollBar::add-line 是什么?
【发布时间】:2019-02-08 05:45:24
【问题描述】:

来自docs

::add-line 子控件可用于设置按钮样式以添加 线。默认情况下,添加行子控件放置在右上角 小部件边框矩形的角。取决于 定向 ::right-arrow 或 ::down-arrow。默认情况下,箭头 放置在添加行的 Contents 矩形的中心 子控件。

“样式按钮添加一行”是什么意思?线的外观是什么?它是如何成型的?这样一条线的作用是什么?

AFAIK,滚动条由一个背景矩形、两个箭头按钮和一个用作手柄的矩形组成:

【问题讨论】:

  • 文档末尾有一个链接Customizing QScrollBar。 (您提供了链接)。它显示了一个示例(向下滚动一点)。不过,我不确定在哪些特定情况下要提供添加行或页面。这可能取决于应用程序......(可能,这类似于现代网络浏览器中的情况,您有一个特殊的选项卡来添加新页面。我最近在 Qt 中很难通过常规选项卡来模拟这一点。 ) ;-)
  • @Scheff 谢谢!但我还是不明白什么是行或页。我注意到了这个例子,但它没有提供任何截图。
  • 滚动条QScrollbar 提供一个小步骤和一个页面步骤。可以完成小(单个)步骤,例如单击箭头按钮。页面步骤可以通过单击滑块周围的窗格(上、下或左、右)来完成。我相信添加行地址会在添加页面的地方将范围增加一小步 - 将范围增加一页。我必须承认,我认为“添加单步”会更一致地保留在一个独特的术语中。 ;-)

标签: qt scrollbar


【解决方案1】:

添加一行的按钮

这是在滚动区域中添加一行的按钮(在滚动条的方向,水平或垂直),即滚动一行(向下/向右,子行控件将向上/向左滚动一行)。

这只是您已在屏幕截图中标识的带有箭头的常规按钮。我们在大多数 GUI 中看到的滚动条的默认按钮和行为。

一行实际上在QAbstractSlider文档中称为single step

这些样式表控件QScrollBar::add-line:horizontalQScrollBar::sub-line:horizontalQScrollBar::add-page:horizontalQScrollBar:left-arrow:horizontal 等允许自定义小部件这些部分的外观。


另一个控件QScrollBar::add-page: 将允许您自定义小部件区域,该区域不仅滚动一行,而且滚动一页。
页面大小可以由setPageStep(int) 定义,而一行 的大小可以由setSingleStep(int) 定义。

没有按钮来添加/子一个page-step。相反,您必须单击句柄和按钮之间的空白区域以添加/子一行。

根据我的测试(Qt5.10),只有在您还自定义 QScrollBar 时才会处理此问题。 Scheff Customizing QScrollBar 给出的文档示例显示了您可以在 QScrollBar 上自定义的内容的完整用法。

【讨论】:

  • 即滚动一行,你的意思是通过点击添加行按钮,页面向上或向下滚动一行?请您提供添加行按钮的屏幕截图吗?
  • @zwcloud 这是默认按钮。您在屏幕截图中显示的那个。 add-page 按钮现在已不再使用,据我所知,您可以在 Microsoft Word 的旧截图中看到它,例如:content.gcflearnfree.org/topics/14/wn_scrollbar.gif
猜你喜欢
  • 1970-01-01
  • 2021-04-19
  • 2022-01-23
  • 2013-06-02
  • 1970-01-01
  • 2020-10-19
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多