スクロール領域に一連のカスタム ウィジェットをリストする必要があります。
私は通常 QListWidget を使用しますが、それはスムーズなスクロールを行いません。これは私にとって必要です。QListWidget でのスムーズ スクロールに関するこの質問を見つけましたが、その解決策を試すと、 QListWidget.updateGeometries() requires at least one parameter
!というエラーが表示されます。
複数のウィジェットを含む QScrollArea を使用することも考えましたが、これを行う方法はないようです。レイアウトを使用すると、内部のウィジェットのサイズが変更されます。複数のウィジェットを QWidget の子として設定し、その QWidget を QScrollArea のウィジェットとして配置すると (ここで提案されているように)、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 つスクロールしたいと考えています。どうすればいいのかわからない!