Ich arbeite an einer Anwendung in PyQt, die ein Objektverzeichnis und ermöglicht es Ihnen, die Variablen streamen von einem Roboter in Echtzeit zu plotten. Eines der Dinge, an denen ich arbeite, um dies zu ermöglichen, ist ein Dropdown-Menü. Leider haben wir ein paar hundert Variablen, so dass meine PyQt Combobox vom oberen Rand des Bildschirms nach unten mit Elementen auftaucht, wenn Sie darauf klicken. Ich möchte die Anzahl der gleichzeitig angezeigten Elemente auf 20 begrenzen und die Möglichkeit haben, einen Bildlauf durchzuführen, um den Rest zu sehen. Ich habe versucht, die dokumentierte setMaxVisibleItems-Methode zu verwenden, hat aber keinerlei Auswirkungen auf das Dropdown-Menü. Irgendwelche Empfehlungen?PyQt QComboBox Einstellung der Anzahl der sichtbaren Elemente im Dropdown
-Code hier:
#!/usr/bin/env python
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QComboBox, QApplication
from cli.parc2_od import cli_od
import sys
app = QApplication(sys.argv)
items = cli_od.OD.keys() #Items to populate dropdown.
combo = QComboBox()
#The solution:
combo.setStyleSheet("QComboBox { combobox-popup: 0; }")
combo.setMaxVisibleItems(10)
combo.addItems(items)
combo.resize(300, 30)
combo.show()
sys.exit(app.exec_())