我正在使用PyQt开发一个应用程序,它接受一个对象字典,并允许您实时绘制从机器人流式传输的变量。其中我正在努力实现的一件事是下拉菜单。不幸的是,我们有几百个变量,所以当点击时,我的PyQt Combobox会从屏幕顶部弹出并向下显示项目。我想将同时显示的项目数量限制为20个,并能够滚动查看其余内容。我尝试使用文档中记录的setMaxVisibleItems方法,但它根本不影响下拉框。有什么建议吗?
代码如下:
代码如下:
#!/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_())