- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 Qt 中成功实现了一个图像查看器(用于 DICOM)。
我可以看到图像,并且可以正确放大和缩小。
现在,如果图像太大而无法在放大时显示,我想查看滚动条。
我用过用户界面。我放了一个 QScrollArea .在里面, QLabel .
verticalScrollBarPolicy 是 ScrollBarAsNeeded。
HorizontalScrollBarPolicy 是 ScrollBarAsNeeded。
问题是:它不起作用。我放大,但没有出现滚动条。
第二次尝试:使用 QScrollArea 内的布局。
所以现在有一个 QWidget QScrollArea 和 QLabel 之间:水平布局。
打开相同的图像,现在我可以在右侧看到一个垂直滚动条。图像从左到右拉伸(stretch)。当我缩放图像时,它的比例是正确的。
但是...我缩小了滚动条,即使我可以看到整个图像。水平滚动条永远不会出现。
调整 QLabel 的大小似乎没有影响。但是,如果我调整 QScrollArea 的大小(调整主窗口的大小),则会出现水平滚动条。
我一直在检查一些数字:
在 QScrollArea 中
<widget class="QWidget" name="centralWidget">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>637</width>
<height>649</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="miImagen">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
最佳答案
我知道这是一篇旧帖子 - 但如果您或任何人仍有问题,设置 QScrollArea::widgetResizable
可能会有所帮助为假。
至少,当我尝试类似的事情时,我的垂直滚动条总是被禁用(即使我将可滚动小部件的大小设置为大于视口(viewport)的高度),直到我将其设置为 false。
如果是真的,我认为它会更新可滚动小部件的大小,因此不需要滚动条。这使您可以执行我猜想的示例中的操作,并实现拉伸(stretch)以适应功能。 (实际上我想要做的是适合宽度,只有一个垂直滚动条)
关于image - QLabel 在 QScrollArea 内显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981662/
在获得有关 the previous one 的帮助后,我遇到了 QScrollArea 的另一个问题, 这有点相似。 现在的问题是,如果您创建一个滚动区域和一个标签,将标签设置为滚动区域的小部件,然
我有一个QScrollArea。我想让上下文可以用鼠标平移 - 这样,手形光标会显示在该区域上方,然后单击并按住让我们进入拖动模式。 这类似于 QGraphicsView 使用 QGraphicsVi
我正在使用诺基亚 Qt SDK 并在顶部区域设计了一个小横幅轮播。它看起来像这样: 层次结构如下所示: 在模拟器中安装它后,我尝试使其可滚动( throw )。我猜这是一个简单的任务(如 Androi
我有一个带有 QScrollArea 的小部件,我希望它在包含它的小部件显示后立即向下滚动。我尝试过: scrollArea->ensureVisible(0,100, 20, 20); 它仅在用户调
我遇到了 QScrollArea 的问题。 特别是我找不到正确的 QSS 规则来删除 QSrollArea QFrame 和 QScroll 之间的 3px 空间。 我要删除的空间是图中红色箭头所指的
我正在寻找一种方法来解决放大时某些小部件消失的问题。 我的程序的结构是: Window 与 QscrollArea 作为 child 。 QscrollArea 有一个从 QWidget 作为子项继承
我昨晚花了很多时间试图让这个 QScrollArea 工作,但没有运气。我想做的是在菜单下方添加顶部水平菜单布局和可滚动垂直内容布局。滚动条不可见,一旦我向其中添加新元素(通过单击菜单按钮之一),内容
我试图在 QT 中获取自定义滚动小部件,但在滚动时出现重绘错误。 Alt-tab 或其他重绘事件正确重绘。 我以 http://doc.qt.io/qt-5/qtwidgets-widgets-cha
我有一个很好的小部件,基本上看起来像一个带有一堆 QSlider 的对话框。 slider 的数量取决于调用对话框(不是实际的 QDialog;只是 QWidget)时的情况。 由于不同数量的 sli
我正在尝试使用 QScrollArea 以便能够将大量小部件放在同一个窗口中。不幸的是,包含 QScrollAea(居中)的 QWidget 没有缩放到窗口的大小,这使得它......不像我想要的..
我目前有一个 QScrollArea 定义为: self.results_grid_scrollarea = QScrollArea() self.results_grid_widget = QWid
我有一个QScrollArea,我将向其中添加一些其他小部件。我想要的是,当其中的小部件扩展其大小时,QScrollArea 开始滚动。 但是滚动区域开始自行扩展。 这是我使用的代码: import
我正在尝试在框布局中显示带有滚动条的图像标签。但是,滚动区域出现在错误的位置且大小错误。你能告诉我我做错了什么吗? import sys from PyQt5 import QtCore from P
我认为这是同一个问题:QScrollArea resizing QWidget 但是没有解决办法。所以让我揭露这个问题。 测试2继承自QWidget: 作曲: QSpinBox 的 vector QS
QScrollArea 有办法知道它滚动了多少吗?我是否需要对所有 scollContensBy() 调用进行统计? 我需要获取鼠标相对于 QScrollArea 内图像标签的位置。我只能获取相对于当
我在 QScrollArea 中放置自定义小部件时遇到了一些问题。我的自定义小部件在 QGridLayout 中包含 4 个标签来填充它。现在我想将此小部件保留在 QScrollArea 中并能够向其
在 PyQtGraph 中,您可以使用滚轮放大绘图。但是,当将 PyQtGraph 嵌入到 QScrollArea 中时,滚动会放大悬停的绘图并滚动 QScrollArea。 最少的可重现代码: fr
我正在研究配置 QDialog。它有几个类别(General、Appearance 等),当用户点击它们时会加载它们。每个类别都有自己的页面。这些页面本身就是独立的类(每个都有自己的 ui、cpp 和
就像 QPushButton提供默认 clicked()信号,我预计 QScrollArea有一个sliderChanged()或类似的信号。有趣的是,QScrollBar确实有这样的信号。 我想做的
我正在尝试使用 QVBoxLayout 中的多个 Groupbox 对象创建一个动态 GUI。由于它们很多,我将需要一个滚动区域来使最终用户可以使用它们。 所以我尝试将这个选项卡的顶部小部件从 QWi
我是一名优秀的程序员,十分优秀!