问题标签 [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 投票
2 回答
328 浏览

linux - QScrollBar 在编译到桌面和嵌入式 Linux 环境之间有区别

最近我在这个问题中遇到了这样的问题,询问我如何才能将手放在 QComboBox 的 QScrollBar 上以改变其厚度。阅读回复后,我为我的 Qt Embedded 应用程序尝试了 Marco A. 解决方案,但没有成功。然后,为了测试,我将编译环境更改为 Desktop,修复成功!

所以基本上我的问题是,当我尝试在 Qt for Embedded Linux (ARM) 中更改 QComboBox 的 QScrollBar 宽度时,什么也没有发生,但是如果我为 Qt for Desktop 编译完全相同的代码,它就可以工作。以下是我用于测试的代码:

还有另一个代码做同样的事情,但显示了同样的问题:

comboBoxQt Designer(在 Qt Creator 内部)中以 ui 形式声明。

Qt 版本对于 Desktop 和 Qt for Embedded Linux (4.8.5) 是相同的。我发现奇怪的另一件事(但应该与它无关)是再次为桌面编译相同的代码显示具有 Windows XP 样式的 QComboBox,而对于嵌入式则使用 Plastique 样式(我注意到由于 Plastique显示三个而不是两个按钮来滚动滚动条)。

那么可能会发生什么?我该如何解决这个问题?

0 投票
1 回答
2644 浏览

qt - QScrollArea clears background color

In my qss style sheet I define a background color

Everything fine, but when I place a scroll QScrollArea in the sw_MainMiddle widget, the background color is gone. Obviously there is no chance to assign a background directly to QScrollArea. Below code has no effect:

According to this question I have used object name selector to re-assign the background color to the scroll area, no effect too:

Anything I am doing wrong?

0 投票
1 回答
4737 浏览

c++ - 让 QScrollArea 动态适合其父级,但不会为其子级扩展

我似乎在从QScrollArea. 就目前而言,每当我将某些内容添加到设置为滚动区域目标的小部件的布局中时,它宁愿选择扩展整个窗口而不是适合滚动。

这是我当前的设置:

这使得滚动区域只会扩展并且永远不会显示滚动条。

通过插入这一行:

我可以让该区域忽略其子项的大小,但它也不会占用所需的空间,也不会显示滚动条——它只是压缩其中的小部件。

我对使用 Qt 有点陌生,但我想知道如何实现我需要的行为:我希望滚动区域贪婪地占用其父布局中可用的区域,但不扩展添加时垂直包含布局,但实际上显示滚动条。我计划允许大量调整大小,因此它需要实际缩放到父级,而不仅仅是固定大小。我不知道应该如何着手解决我的 GUI 的这方面问题。感谢您的时间。

如果您想直观地解决这个问题,这里有一个可以使用的线束。我非常感谢您的帮助。

0 投票
1 回答
474 浏览

qt - 如何水平控制 qscrollarea

我有一个QScrollArea并且我只想水平使用滚动功能。滚动条策略是“AlwaysOff”,因为我想隐藏滚动条。

我希望得到帮助。

0 投票
1 回答
1241 浏览

c++ - Catch QWidget real visibility status changing

I have C++ Qt 5.2.1 based project and one of graphic component looks like:

So, ParentWidget is QScrollArea, others are QWidgets. ParentWidget contains some MiddleWidgets, MiddleWidget contains some ChildWidgets. MiddleWidget also can be expanded or collapsed - when collapsed, ChildWidgets are not "visible" (isVisible() == false).

When user scrolls ParentWidget up and down, ChildWidgets which are "visible" (isVisible() == true) can actually be not real visible on screen. ChildWidgets contains pictures, and it's inefficiently to store all pictures in memory. So i want to load picture when ChildWidget is really appears on screen and user sees it; when ChildWidget disappears, picture should be stored to file and erased from memory.

Right now i can check such real visibility changing via ParentWidget:

But this way obviously has its disadvantages:

  • ChildWidgets don't know about change their real visibility and depends on ParentWidget
  • when ParentWidget's paint event occurs, all ChildWidgets should be checked

So my question is: can QWidget catch changing its real visibility state itself? If no, maybe there is more effective way to implement such behaviour?

0 投票
1 回答
1611 浏览

qt - Qt:在 QScrollArea 中的小部件上调用 setGeometry 时的奇怪行为

我的环境如下:

  • Qt 5.4,从源代码构建-platform win32-msvc2013 -opengl desktop -no-icu -skip webkit
  • 视觉工作室 2013
  • 视窗 7 x64

考虑以下设置(包含固定大小的居中小部件的 QScrollArea):

现在,我想在我的程序中调整该小部件的大小,如下所示:

奇怪的行为出现了:
如果wh等于当前的宽度和高度(即没有任何变化),小部件会跳到左上角。
如果wh不同于当前的宽度和高度,小部件将保持在其中心位置并正确更改其大小。

我编写了一个演示该问题的小演示应用程序。如果单击该pushButton_Stay按钮,小部件会跳转到左上角。

点击pushButton_Up按钮:

第一张照片

点击pushButton_Stay按钮:

第二张图片

问题:

这里出了什么问题?

它是一个错误吗?如果和是,任何人都可以确认吗?

如果它不是错误,我怎样才能使小部件始终保持居中?

0 投票
1 回答
505 浏览

c++ - 在 qscrollbar 旁边添加小部件

如何在 QScrollbar 旁边放置一个小部件,如下所示: 在此处输入图像描述

我使用 QScrollArea 并覆盖 Horizo​​ntal-QScrollBar。首先我想,我可以使用paintEvent在栏旁边画一个像“100%”这样的文本。但我只能覆盖现有的画。

现在我认为,唯一的机会是从源代码中实现 QScorllBarPrivate 漏洞......有人知道吗?

0 投票
1 回答
965 浏览

c++ - 在 QScrollArea 的 QVBoxLayout 中滚动 QTableView

我遇到了 QTableView 小部件的问题:我需要水平滚动带有标题的整个小部件,但标准滚动只滚动内容,而不是标题。

然后我尝试像这样添加 QScrollArea(这一切都在 QDockWidget 中):

在构造函数中:

但它不能正常工作:没有出现滚动条。

(对不起,如果我违反了一些规则——这是我在这里的第一个问题,对不起我的英语不好)

0 投票
1 回答
8660 浏览

c++ - Qt:如何确定一个小部件在 QScrollArea 中是否可见?

有人建议我重新实现QWheelEvent处理程序并检查每个子小部件visibleRegion是否为 0。

有没有更好的建议?

0 投票
1 回答
162 浏览

qt - 如何知道 QLayoutItem 是否被 QScrollArea 中的滚动隐藏?

我有一个类似的问题,如如何知道 QListWidgetItem 是否被滚动隐藏?这个问题的答案并没有解决我的问题。

基本上我有一个具有 QGridLayout 的 QScrollArea。这个布局有很多 QToolButtons。根据某些情况,所有这些 QToolButtons 都需要更新。更新所有这些总是不是那么有效,所以我只想更新当前活动窗口中可见的按钮。我怎样才能做到这一点?isVisible() 在这里没有帮助。

提前致谢!