来自WeTab AI Pro
PySide6, 是一个Python库,提供了跨平台的图形用户界面(GUI)工具,这是Qt for Python项目的一部分。QComboBox
是 PySide6 中用于创建下拉列表的一个控件。QComboBox
提供了用户可以从列表中选择一个选项的功能。
以下是使用 PySide6 的 QComboBox
常见的一些操作和信号:
常用方法(操作):
-
添加项:
addItem(text, userData=None)
: 添加一个项,你可以选择性地附加用户数据。addItems(items)
: 接受一个字符串列表,将其全部添加到下拉列表中。insertItem(index, text, userData=None)
: 在指定索引处插入一个项。insertItems(index, items)
: 在指定索引处插入多个项。
-
移除项/清除列表:
removeItem(index)
: 移除指定索引的项。clear()
: 清除下拉列表中的所有项。
-
获取信息:
currentText()
: 返回当前选择的文本。currentIndex()
: 返回当前选择的索引。itemText(index)
: 返回指定索引项的文本。count()
: 返回下拉列表中的项数。
-
设置和获取用户数据:
setItemData(index, value, role)
: 设置指定索引下项的数据。itemData(index, role)
: 获取指定索引下项的数据。- setCurrentIndex
(index):设置序号
-
外观和行为:
setMaxVisibleItems(count)
: 设置下拉菜单中可见的最大项数。setEditable(isEditable)
: 设置是否可以直接在组合框中输入文本。
常用信号(连接):
activated(index)
: 当用户从下拉列表中选择一个项时发射该信号,传递的是所选项的索引。currentIndexChanged(index)
: 当当前选中的项的索引改变时,发射这个信号。currentTextChanged(text)
: 当当前选中的项的内容文本改变时,发射这个信号。highlighted(index)
: 当下拉列表中的某项被高亮(例如,鼠标悬停)时发射此信号。
示例代码:
这是一个简单的例子,展示了如何创建一个 QComboBox
,添加几个选项,并连接一个信号,使其在选择变化时打印所选项的信息。
import sys
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox
def on_combobox_changed(index):
print(f"选择的索引: {index}, 文本: {combobox.itemText(index)}")
app = QApplication(sys.argv)
window = QWidget()
layout = QVBoxLayout(window)
combobox = QComboBox()
combobox.addItem("选项1")
combobox.addItem("选项2", userData="data2")
combobox.addItem("选项3")
combobox.currentIndexChanged.connect(on_combobox_changed)
layout.addWidget(combobox)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
在这个例子中,一旦 QComboBox
的选择改变,on_combobox_changed
函数会被调用,并打印出新选项的索引和文本。