gpt4 book ai didi

python - ScrollArea 中的自定义小部件正在被压缩!

转载 作者:行者123 更新时间:2023-11-28 17:53:33 27 4
gpt4 key购买 nike

我有一个 qscrollarea,里面有一个 qgridlayout。在网格布局中,我创建了许多自定义小部件(为简单起见,这些小部件只是一个分组框和一个标签)并在每一行添加一个。

自定义小部件不是显示垂直滚动条,而是全部压缩以适应滚动区域的大小。

我通过以下方法将自定义小部件添加到滚动区域:

    def addBookWidget(self):
self.book_grid = QtGui.QGridLayout(self.book_scrollArea)

widget = py_BookWidget(self.book_scrollArea)
widget2 = py_BookWidget(self.book_scrollArea)
widget3 = py_BookWidget(self.book_scrollArea)
widget4 = py_BookWidget(self.book_scrollArea)
widget5 = py_BookWidget(self.book_scrollArea)
widget6 = py_BookWidget(self.book_scrollArea)
widget7 = py_BookWidget(self.book_scrollArea)


self.book_grid.addWidget(widget,0,0)
self.book_grid.addWidget(widget2,1,0)
self.book_grid.addWidget(widget3,2,0)
self.book_grid.addWidget(widget4,3,0)
self.book_grid.addWidget(widget5,4,0)
self.book_grid.addWidget(widget6,5,0)
self.book_grid.addWidget(widget7,6,0)
self.book_scrollArea.setLayout(self.book_grid)

widget.show()
widget2.show()
widget3.show()
widget4.show()
widget5.show()
widget6.show()
widget7.show()

自定义小部件扩展了 QWidget 并重新实现了 sizeHint:

class py_BookWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(py_BookWidget, self).__init__(parent)
self.book = Ui_book_widget()
self.book.setupUi(self) #This is loading my QT Designer Code

def sizeHint(self):
print "test"
return QtCore.QSize(660, 300)

正在调用 sizeHint 方法,但小部件仍被压缩到更小的高度。自定义小部件中的所有元素都有固定的宽度和高度,最小和最大高度和宽度设置为 660、300。

有人建议试试吗?谢谢!

附加信息:滚动区域位于 MainWindow 中,widgetResizable bool 值设置为 False。

明天我将尝试删除自定义小部件,看看是否可以让 scrollArea 与常规小部件一起工作。

最佳答案

QScrollArea 只接受一个小部件。没有布局。

将布局和小部件添加到普通 QWidget 中,然后使用 setWidget() 将其添加到 QScrollArea

关于python - ScrollArea 中的自定义小部件正在被压缩!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5164117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com