PySide6的QComboBox

来自WeTab AI Pro

PySide6, 是一个Python库,提供了跨平台的图形用户界面(GUI)工具,这是Qt for Python项目的一部分。QComboBox 是 PySide6 中用于创建下拉列表的一个控件。QComboBox 提供了用户可以从列表中选择一个选项的功能。

以下是使用 PySide6 的 QComboBox 常见的一些操作和信号:

常用方法(操作):

  1. 添加项:

    • addItem(text, userData=None): 添加一个项,你可以选择性地附加用户数据。
    • addItems(items): 接受一个字符串列表,将其全部添加到下拉列表中。
    • insertItem(index, text, userData=None): 在指定索引处插入一个项。
    • insertItems(index, items): 在指定索引处插入多个项。
  2. 移除项/清除列表:

    • removeItem(index): 移除指定索引的项。
    • clear(): 清除下拉列表中的所有项。
  3. 获取信息:

    • currentText(): 返回当前选择的文本。
    • currentIndex(): 返回当前选择的索引。
    • itemText(index): 返回指定索引项的文本。
    • count(): 返回下拉列表中的项数。
  4. 设置和获取用户数据:

    • setItemData(index, value, role): 设置指定索引下项的数据。
    • itemData(index, role): 获取指定索引下项的数据。
    • setCurrentIndex(index):设置序号
  5. 外观和行为:

    • 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 函数会被调用,并打印出新选项的索引和文本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深蓝海拓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值