📅  最后修改于: 2023-12-03 15:33:51.692000             🧑  作者: Mango
在 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 中所选项目的文本,并打印输出。