gpt4 book ai didi

PyQt QComboBox 设置下拉菜单中可见项目的数量

转载 作者:行者123 更新时间:2023-12-04 06:36:02 35 4
gpt4 key购买 nike

我正在 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_())

最佳答案

根据文档:

The property maxVisibleItems is ignored for non-editable comboboxes in styles that returns true for `QStyle::SH_ComboBox_Popup such as the Mac style or the Gtk+ Style.



你可以覆盖 SH_ComboBox_Popup带有样式表的样式提示:
combo.setStyleSheet("QComboBox { combobox-popup: 0; }");

关于PyQt QComboBox 设置下拉菜单中可见项目的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252299/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com