Tôi đang làm việc trên một ứng dụng trong PyQt lấy từ điển đối tượng và cho phép bạn vẽ các biến trực tiếp từ rô bốt theo thời gian thực. Một trong những điều tôi đang làm để bật tính năng này là một trình đơn thả xuống. Thật không may, chúng tôi có một vài trăm biến, do đó, PyQt Combobox của tôi bật lên từ phía trên cùng của màn hình xuống dưới cùng với các mục khi được nhấp. Tôi muốn giới hạn số lượng mục được hiển thị tại thời điểm 20, với khả năng cuộn để xem phần còn lại. Tôi đã thử sử dụng phương thức setMaxVisibleItems đã được ghi lại tài liệu, nhưng nó không ảnh hưởng đến việc thả xuống. Bất kỳ đề xuất?Số cài đặt PyQt QComboBox của các mục hiển thị trong menu thả xuống
Mã ở đây:
#!/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_())