0

1 つの QWidget の複数の子が必要です。ただし、子を複数回設定すると、最後に設定された子のみが表示されます。最終的な目標は、このウィジェットを QScrollArea に配置することです。これが私の現在のコードです:

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

        self.scroller = QScrollArea()
        self.form = QWidget()
        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.exec_()

ただし、QPushButton のみが表示されます。これがばかげた質問である場合は申し訳ありませんが、Google で役立つ情報が見つかりませんでした。

編集:
これらのウィジェット (ラベル、ボタン、および行編集) をレイアウトに配置しようとしましたが、それらのかなりの数を取得すると、QScrollArea のサイズに応じてサイズが変更され始めます。私はそれを望んでいませんが、QScrollAreaのサイズに依存するのではなく、同じサイズのままにしておきたいです。

4

1 に答える 1

1

ウィジェットをレイアウトに追加する必要があります。このようなものは、ラベル、行編集、およびボタンをレイアウトに追加します。

self.layout.addWidget(self.lab)
self.layout.addWidget(self.edit)
self.layout.addWidget(self.but)
于 2013-05-19T08:00:17.680 に答える