📜  PyQt5 - 获取 ComboBox 中所选项目的文本(1)

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

PyQt5 - 获取 ComboBox 中所选项目的文本

在 PyQt5 中,我们可以使用 QComboBox 组件来显示下拉菜单,用户可以通过该组件选择需要的项目。有时候我们需要获取 ComboBox 中所选项目的文本,以便进行后续操作。

下面是如何获取 ComboBox 中所选项目的文本。

方法一

我们可以使用 currentIndex() 和 itemText() 方法来获取 ComboBox 中所选项目的文本, currentIndex() 方法返回当前选中项目的索引, itemText() 方法则返回该索引下的文本。

selected_text = combo_box.itemText(combo_box.currentIndex())
方法二

我们也可以使用 currentText() 方法来获取 ComboBox 中所选项目的文本,该方法直接返回用户所选项的文本。

selected_text = combo_box.currentText()

下面是一段完整代码,演示如何获取 ComboBox 中所选项目的文本:

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

class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.init_ui()

    def init_ui(self):
        self.combo_box = QComboBox(self)
        self.combo_box.addItem('Python')
        self.combo_box.addItem('Java')
        self.combo_box.addItem('C++')

        self.combo_box.currentIndexChanged.connect(self.on_combo_box_changed)

        layout = QVBoxLayout()
        layout.addWidget(self.combo_box)

        self.setLayout(layout)
        self.setWindowTitle('ComboBox Example')

    def on_combo_box_changed(self):
        selected_text = self.combo_box.currentText()
        print(selected_text)

if __name__ == '__main__':
    app = QApplication([])
    ex = Example()
    ex.show()
    app.exec_()

在上述示例中,我们创建了一个名为 Example 的窗口,并在其中创建了一个 ComboBox,并添加了一些项目。我们为 ComboBox 的 currentIndexChanged 信号绑定了一个槽函数 on_combo_box_changed,该函数会在用户选择 ComboBox 中的项目时被调用。在槽函数中,我们使用 currentText() 方法获取 ComboBox 中所选项目的文本,并打印输出。