没有QListWidget的滚动窗口小部件列表

时间:2013-05-04 17:07:33

标签: python pyside qlistwidget qscrollarea

我需要在滚动区域列出一堆自定义小部件。

我通常会使用QListWidget,但这并不能平滑滚动,这对我来说是必要的。我发现this question关于QListWidget中的平滑滚动,但是当我尝试该解决方案时,我收到错误QListWidget.updateGeometries() requires at least one parameter

我还考虑过使用带有多个小部件的QScrollArea,但似乎没有办法做到这一点。如果我使用布局,则内部的小部件会调整大小。如果我将多个小部件设置为QWidget的子节点,那么将该QWidget作为我的QScrollArea的小部件(如建议的here),只有我设置为我的QWidget的子节点的最后一个小部件出现。

我可能做错了,因为我对小部件育儿不是很熟悉,所以也许这就是我的问题。我不知道:

class EditDialog(QDialog):
    def __init__(self):
        super(EditDialog,self).__init__()

        self.scroller = QScrollArea()
        self.form = QWidget()
        self.form.setStyleSheet()
        self.lab = QLabel(self.form)
        self.lab.setText("Label")
        self.edit = QLineEdit(self.form)
        self.edit.setText("LineEdit")
        self.but = QPushButton("PushButton",self.form)
        self.scroller.setWidget(self.form)

        self.layout = QVBoxLayout()
        self.layout.addWidget(self.scroller)
        self.setLayout(self.layout)

        self.setWindowTitle(widget + " - StyleWise")
        self.exec_()

使用此代码,QListWidget一次滚动100个像素,但我希望它一次滚动1或2。我不知道该怎么做!

0 个答案:

没有答案