📌  相关文章
📜  PyQt5 - 获取 ComboBox 中所选项目的当前索引(1)

📅  最后修改于: 2023-12-03 15:33:51.676000             🧑  作者: Mango

PyQt5 - 获取 ComboBox 中所选项目的当前索引

在 PyQt5 中,我们可以使用 QComboBox 控件来创建一个下拉菜单,并实现用户选择其中的一个选项。当用户选择某个选项时,我们可以获取该选项的索引值,以便进一步处理。

以下是获取 PyQt5 中 QComboBox 控件中所选项目的当前索引的示例代码:

from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QComboBox, QVBoxLayout

class ComboBoxDemo(QWidget):
    def __init__(self):
        super().__init__() 
        
        self.initUI()
    
    def initUI(self):
        layout = QVBoxLayout()
        
        label = QLabel('选择一个项目:')
        combo_box = QComboBox()
        combo_box.insertItems(0, ['Python', 'Java', 'C++', 'JavaScript'])
        
        combo_box.currentIndexChanged.connect(self.selection_changed)
        
        layout.addWidget(label)
        layout.addWidget(combo_box)
        
        self.setLayout(layout)
        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('ComboBox 示例')
    
    def selection_changed(self, index):
        print('当前选择的项目索引为:', index)

if __name__ == '__main__':
    app = QApplication([])
    combo_box_demo = ComboBoxDemo()
    combo_box_demo.show()
    app.exec_()

在上述示例代码中,我们首先创建一个 QVBoxLayout 布局,并添加一个 QLabel 组件和一个 QComboBox 组件到布局中。同时,我们还将当前选择的项目索引的变化与 selection_changed() 函数连接起来,以便在用户选择不同项目时获取该项目的索引值。

当用户选择某个选项时,所连接的 selection_changed() 函数将被调用并传递当前项目的索引值。我们可以在该函数中打印当前选择的项目索引值,以便用户自行查看。

注意,在使用 QComboBox 控件时,我们可以使用 insertItems() 方法在其中插入多个选项。该方法的第一个参数为插入选项的起始索引,第二个参数是一个列表,包含了要添加到 QComboBox 中的多个选项。

如果需要获取选中项目的值而不是索引,则可以使用 currentText() 方法。例如,在selection_changed()函数中调用combo_box.currentText()就可以获取选中项目的值,而不是索引。

以上就是获取 PyQt5 中 QComboBox 控件中所选项目的当前索引的方法,希望对你有所帮助。