Python-PyQt Einstellung Scroll-Bereich
Ich versuche, meine QGroupBox
Scrollbar, sobald es wachsen höher als 400px. Die Inhalte der QGroupBox
generiert werden mithilfe einer for-Schleife. Dies ist ein Beispiel wie es gemacht wurde.
mygroupbox = QtGui.QGroupBox('this is my groupbox')
myform = QtGui.QFormLayout()
labellist = []
combolist = []
for i in range(val):
labellist.append(QtGui.QLabel('mylabel'))
combolist.append(QtGui.QComboBox())
myform.addRow(labellist[i],combolist[i])
mygroupbox.setLayout(myform)
Da der Wert der val
hängt von einigen anderen Faktoren, die myform
layout-Größe konnte nicht ermittelt werden. Um dieses Problem zu lösen, habe ich ein QScrollableArea
wie diese.
scroll = QtGui.QScrollableArea()
scroll.setWidget(mygroupbox)
scroll.setWidgetResizable(True)
scroll.setFixedHeight(400)
Leider nicht, scheint keinen Einfluss auf die groupbox. Keine Spur der Bildlaufleiste. Übersehe ich hier etwas?
InformationsquelleAutor Chris Aung | 2013-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere als die offensichtliche Tippfehler (ich bin mir sicher, dass Sie gemeint
QScrollArea
), ich kann nicht sehen, nichts falsch mit dem, was du gepostet hast. Also muß das problem woanders liegen in deinem code: ein fehlendes layout vielleicht?Nur um sicherzugehen, dass wir auf der gleichen Seite, dieser minimal-Skript funktioniert wie erwartet für mich:
QGroupBox
in das endgültige layout anstattQScrollArea
. Es funktioniert jetzt.Bin auf diese Frage whenlearning PyQt5 und zu versuchen, einen scrollbaren Bereich. Ich erkannte, dass
scroll.setWidgetResizable(True)
ist entscheidend für die widgets erscheinen tatsächlich in der scrollarea. hoffe, dies hilft jemand in der Zukunft.InformationsquelleAutor ekhumoro