📌  相关文章
📜  pyqt5 qcombobox 获取所选项目 (1)

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

PyQt5 QComboBox 获取所选项目

QComboBox 是 PyQt5 中的一个控件,它提供了一种让用户从列表中选择项的方法。在本文中,我们将介绍如何使用 QComboBox 控件获取所选项目。

创建 QComboBox 控件

我们可以使用以下代码创建一个简单的 QComboBox 控件:

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

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
    
        self.combo = QComboBox(self)
        self.combo.addItem("Item 1")
        self.combo.addItem("Item 2")
        self.combo.addItem("Item 3")

        vbox = QVBoxLayout()
        vbox.addWidget(self.combo)

        self.setLayout(vbox)

        self.show()

这个代码会创建一个窗口,并在窗口中添加一个包含几个项目的 QComboBox 控件。

获取所选项目

我们可以使用 currentItemText() 方法获取当前所选项目的文本:

selected_item = self.combo.currentItemText()

selected_item 变量将保存当前所选项目的文本。我们还可以使用 currentIndex() 方法获取所选项目的索引:

selected_index = self.combo.currentIndex()

selected_index 变量将保存当前所选项目的索引。

完整示例代码
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
    
        self.combo = QComboBox(self)
        self.combo.addItem("Item 1")
        self.combo.addItem("Item 2")
        self.combo.addItem("Item 3")

        self.combo.currentIndexChanged.connect(self.selectionchange)

        vbox = QVBoxLayout()
        vbox.addWidget(self.combo)

        self.setLayout(vbox)

        self.show()

    def selectionchange(self, i):
    
        selected_item = self.combo.currentItemText()
        selected_index = self.combo.currentIndex()

        print("Selected Item Text: ", selected_item)
        print("Selected Item Index: ", selected_index)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

这个代码将创建与前面代码片段相同的 QComboBox 控件,并添加一个 currentIndexChanged 信号和一个槽函数。当选项更改时,槽函数会打印所选项目的文本和索引。

值得注意的是,如果没有选择项目,currentItemText() 和 currentIndex() 方法将返回一个空字符串和 -1,因此在使用这些方法前,应检查它们是否有效。

结论

本文中,我们展示了如何使用 PyQt5 的 QComboBox 控件获取所选项目。通过这些简单的代码,大家可以使用 QComboBox 控件以提供一个可用的下拉式菜单,并获得所选项目的值。