问题标签 [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.
pyqt - 大小更改后的 GridLayout+ScrollArea 小部件位置
我有一个滚动区域,里面有一个网格布局,我用图像向它添加了 QLabels。当应用程序启动时,它工作正常并正确显示标签:
注意:我计算有多少标签适合当前布局空间。
如果我最大化它也可以正常工作:
但是当我点击恢复时,发生了一些奇怪的事情:
您可以看到只添加了 6 个标签(与第一个屏幕截图中相同),但在这里它们都相互重叠。
这是 ScrollArea 和 Layout 的初始化代码:
qt - QScrollArea 保存为图片 (jpg,tiff,png)
我有几条“曲线”(类似这样),这些曲线包含在 QVBoxLayout 中,而这又包含在 QScrollArea 中。
我的问题是,有没有办法将这些“曲线”保存为图像文件?即 jpg、png、tiff 等。
谢谢
image - 在 QScrollArea 内的图像上绘图?
如果我继承 QLabel 并将 QLabel 直接添加到我的 QDialog,它工作正常。如果我在 ScrollArea 中添加这个标签,除非我调整对话框本身的大小,否则我正在绘制的东西不会显示。是的,很奇怪。
我已经设置了指示问题所在的可编译示例代码。我要做的是用鼠标选择图像的一个区域,方法是在相应的区域上绘制一个矩形。我的程序设计使用的图像可能非常大,因此,我需要有一个滚动区域,以便对话框保持在逻辑维度上,而不是填满整个屏幕(甚至多个工作区,如果我们正在谈论具有多个桌面的linux机器)。
一切正常,除了绘图(选择矩形)不可见,除非手动调整对话框的大小。我想我必须在绘图时更新一些东西,但我不确定是什么。好吧,这是示例代码: http: //paste.ubuntu.com/1151553/
我不知道如何解决的另一个问题(我希望你的建议在那里)是(1)当用户选择一个区域时,如何将其设置为在用户实际选择一个区域时自动滚动滚动区域的墙(我想我在这里可以理解)。(2) 有没有办法让用户选择一个矩形,然后,当他在按住 [Shift] 按钮的同时左键单击一个位置时,他先前选择的右下边缘实际上通过他单击的点在?
文档表明您必须以某种方式在某处设置布局,但我不确定如何在我的场合执行此操作。
提前感谢您的帮助。
python - 使用 PyQt 和 matplotlib 在可滚动的小部件中显示多个绘图
由于我没有得到这个问题的答案,我尝试用 PyQt 解决它。显然,当涉及到 QScrollArea 时,这并不容易......
我写了一个小测试,基本上可以满足我的要求,但它没有像我预期的那样显示滚动区域和其中的图:
谁能解释为什么它不起作用?
c++ - 如何将 QScrollBar 放置在 QScrollArea 的内容上?
我想制作一个根据使用情况淡入淡出的滚动条。我继承了 QScrollBar 并得到了我想要的外观。问题是滚动条放置在内容旁边。我该如何让它在内容之上?
c++ - 在 Qt 中添加项目时如何保持相同的滚动位置?
我有一个 QScrollArea,其中包含一个 QWidget,它有一个 QVBoxLayout。我想实现一个无限滚动,当你到达滚动底部的 80% 时,它会加载更多项目,这样你就可以滚动更多。
问题是当我达到 80% 并尝试向 QVBoxLayout 添加更多项目时,所有项目都会上移,以便您看到所有新项目。添加新项目时,如何让 QScrollArea 保持在相同的相对位置?
c++ - 单击项目时禁用自动滚动
我有一个带有自定义项目委托的 QTreeView。委托创建了一个非常宽的编辑器(比如说,2000 像素宽度),因此用户将水平滚动以编辑数据。
图 1:我滚动到第 300 帧。请注意,滚动条已经偏移。
第 2 步 http://imageshack.us/a/img801/9887/image2zb.png
图 2:我点击编辑器的某个部分;然后滚动条自动转到起始位置。发生这种情况是因为当前选定的行已更改。有什么办法可以禁用自动滚动?
谢谢!
qt - 摆脱 QScrollArea 中不必要的滚动条
我正在处理配置 QDialog。它有几个类别(常规、外观等),当用户单击它们时会加载它们。每个类别都有自己的页面。这些页面本身就是独立的类(每个都有自己的 ui、cpp 和 h)。当 Preferences 窗口加载时,页面被实例化并被加载到 QStackedWidget 中。然后将 Stackedwidget 放置到 QScrollArea 中,以便在必要时可以滚动。
但是,有一个问题。自从我添加了 QStackedWidget 后,即使当前页面短到不需要一个,QScrollArea 也总是有一个垂直滚动条:(图片为最短页面)
ScrollArea 垂直滚动策略设置为 Qt::ScrollBarAsNeeded 因此逻辑上它应该只在页面大于可视区域时显示一个栏。
这是我已经尝试解决的问题:
将滚动策略设置为 Qt::ScrollBarAlwaysOff。虽然这摆脱了滚动条,但这是不可接受的,因为它不会让用户知道他们需要在长页面上滚动。
设置 QStackedwidget 的最小/最大高度。如果我将其设置为足够低的值,这会使滚动条消失,但这是不可接受的,因为它会导致某些小部件具有压扁的外观。
我知道问题与 QStackedWidget 有关,但由于这是我第一次使用 QStackedWidget,所以我不确定它是什么。我还注意到滚动总是相同的数量。即,无论页面小部件有多大/多小,可滚动区域的大小始终相同。由于某种原因,它比最长的页面略大。起初我认为我在每页底部放置的用于收紧布局的垂直间隔是造成这种情况的原因,但将它们取出并没有解决它。
更新:这是控制 Stackedwidget 的代码:
qt - 随着更多的小部件被放置在里面,我如何调整 QScrollArea 的内容
我有一个QScrollArea小部件,它开始为空;
它有一个垂直布局,带有一个 QGridLayout 和一个垂直间隔以将其保持在顶部,并防止它延伸到整个滚动区域;
在程序的其他地方,有一个 QTextEdit,它在更改时会扫描其内容以查找“物种”元素,然后将它们添加到 QGridLayout。任何已被移除的物种元素也会被移除。这一点有效;
我一直打开垂直滚动条,这样当它出现时它就不会位于其他东西的顶部。请注意,尽管不需要,滚动条已经比滚动框大。
这就是问题。滚动区域似乎是预设的,我无法更改它。如果我向 QGridLayout 添加更多行,则滚动区域的大小不会增加。
相反,它保持相同的大小,并挤压 QGridLayout,使其看起来很丑(起初);
然后在添加更多之后它变得无法使用;
请注意,滚动条的大小仍与之前的图像相同。前两张图片来自 Qt Designer,后三张来自正在运行的程序。
如果我调整窗口大小以使 QScrollArea 增长,那么我会看到:
表示滚动区域内的某些布局未正确调整大小。
我的问题是;当我从 QGridLayout 添加和删除时,我需要做什么才能使小部件的可滚动区域动态调整大小?
python - 更新动态 QGridLayout - Python PyQt
我最近开始学习 Python,现在我正在使用 PyQt 库制作一个带有 GUI 的软件。
这是我的问题:我创建了一个滚动区域,我在这个滚动区域中放入了一个包含 QGridLayout 的小部件。
然后我添加 10 个 QLabel (这当然只是一个例子,在这个例子中我使用 QGridLayout 就像一个垂直布局):
然后我创建一个调用函数“function_name”的按钮,我希望这个函数删除一行,到目前为止这是我写的:
它删除了第一行,gridlayout 的每 x 行变为第 x-1 行,但是,它不会删除文本“第 1 行”,所以我在同一行上看到“第 0 行”和“第 1 行”。
任何人都可以帮助我吗?
非常感谢,大卫