下面是针对 PyQT5 获取组合框中所选项目的当前索引的完整使用攻略。
步骤概述
- 导入
PyQt5
模块 - 创建
QComboBox
实例 - 添加选项
- 获取当前选中的选项的索引
示例
示例1:简单实现
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
combobox = QComboBox(self)
combobox.addItems(['Python', 'Java', 'C++', 'JavaScript'])
combobox.move(50, 50)
combobox.currentIndexChanged.connect(self.selectionchange)
self.show()
def selectionchange(self, i):
print(f"当前选择:{i}")
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
sys.exit(app.exec_())
示例解析
- 导入
PyQt5
模块 - 创建一个主窗口,设置窗口的位置和大小
- 创建一个
QComboBox
实例,使用addItems
方法添加选项,并移动到主窗口的位置(50, 50)
上。 - 接下来,我们使用
currentIndexChanged
信号连接事件处理函数selectionchange
,每当用户选择一个不同的选项时都将触发这个信号。 - 最后,我们在
selectionchange
中打印被选择的项的索引数。
示例2:获取当前选中的项的值
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
combo = QComboBox(self)
combo.addItems(['Red', 'Blue', 'Green', 'Yellow'])
combo.move(50, 50)
combo.currentIndexChanged.connect(self.selectionchange)
self.label = QLabel(self)
self.label.move(50, 110)
self.show()
def selectionchange(self, i):
self.label.setText(f"当前选择:{self.sender().currentText()}, 索引为:{i}")
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
sys.exit(app.exec_())
示例解析
- 导入
PyQt5
模块 - 创建一个主窗口,设置窗口的位置和大小
- 创建一个
QComboBox
实例,使用addItems
方法添加选项,并将其移动到主窗口的位置(50, 50)
上。 - 在这个例子中,我们添加了一个标签
label
用于显示当前的选择,将其移动到(50, 110)
这个位置上。 - 通过连接
currentIndexChanged
信号和selectionchange
事件处理函数来获取当前选项的选择并更新标签。
总结
使用 PyQT5 获取组合框中所选项目的当前索引非常简单,只需要在创建 QComboBox 实例后,连接 currentIndexChanged 信号和 selectionchange 事件处理函数即可。同时,我们还能够使用 sender().currentText()
来获取当前选中的项目的文本值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 获取组合框中所选项目的当前索引 - Python技术站