- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 QWidget 中有一个 QLabel 和一个 QLineEdit。当我在 QScrollArea 中有小部件时,行编辑不会扩展以占据窗口的多余宽度。当小部件不在滚动区域内时,它会展开。
我已经尝试将行编辑和小部件的大小策略设置为水平扩展,但它不会占用多余的空间。我怀疑在滚动区域内时小部件的 sizeHint() 被压缩。任何想法如何使这项工作?
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self, None)
self.setWindowTitle('Test Window')
self.resize(500, 250)
scrollArea = QtGui.QScrollArea()
scrollWidget = QtGui.QWidget()
scrollWidget.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)
layout = QtGui.QGridLayout(scrollWidget)
label = QtGui.QLabel("Name:")
layout.addWidget(label, 0, 0)
lineEdit = QtGui.QLineEdit("Value")
lineEdit.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)
layout.addWidget(lineEdit, 0, 1)
scrollWidget.setLayout(layout)
scrollArea.setWidget(scrollWidget)
self.setCentralWidget(scrollArea)
最佳答案
我相信我已经解决了你的问题。
在您的代码中添加以下内容,它的行为应该正确:
...
scrollArea.setWidget(scrollWidget)
scrollArea.setWidgetResizable(True) #add this
self.setCentralWidget(scrollArea)
...
widgetResizable : bool
This property holds whether the scroll area should resize the view widget.
If this property is set to true, the scroll area will automatically resize the widget in order to avoid scroll bars where they can be avoided, or to take advantage of extra space.
关于qt - 如何使 QLineEdit 在 QScrollArea 内展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308923/
在获得有关 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
我是一名优秀的程序员,十分优秀!