📌  相关文章
📜  PyQt5 - 如何获得 ComboBox 的行编辑(1)

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

PyQt5 - 如何获得 ComboBox 的行编辑

在 PyQt5 中,ComboBox 是一种常见的下拉菜单控件。除了选择 ComboBox 中的一个项目外,有时还需要获取 ComboBox 中的行编辑文本。本文将介绍如何在 PyQt5 中获得 ComboBox 的行编辑。

使用 currentTextChanged 信号

ComboBox 提供了 currentTextChanged 信号,该信号在 ComboBox 的 currentText 更改时触发。因此,我们可以连接该信号以获取 ComboBox 的行编辑文本。

下面是示例代码:

from PyQt5.QtWidgets import QApplication, QComboBox

app = QApplication([])
combo_box = QComboBox()
combo_box.addItems(['item1', 'item2', 'item3'])

def on_current_text_changed(text):
    print('Current text:', text)

combo_box.currentTextChanged.connect(on_current_text_changed)

combo_box.show()
app.exec_()

运行上面的代码,选择 ComboBox 中的不同项目或键入文本,将在控制台上打印当前的行编辑文本。在此示例中,我们将当前文本打印到控制台,但您也可以将其存储在变量中或执行其他操作。

使用 QLineEdit 对象

ComboBox 具有一个名为 lineEdit 的 QLineEdit 对象,该对象显示 ComboBox 的行编辑文本。因此,我们可以访问该对象以获取行编辑文本。

下面是示例代码:

from PyQt5.QtWidgets import QApplication, QComboBox

app = QApplication([])
combo_box = QComboBox()
combo_box.addItems(['item1', 'item2', 'item3'])

line_edit = combo_box.lineEdit()

text = line_edit.text()
print('Current text:', text)

combo_box.show()
app.exec_()

运行上面的代码,将在控制台上打印 ComboBox 的行编辑文本。

结论

通过连接 currentTextChanged 信号或访问 ComboBox 的 lineEdit 对象,我们可以轻松地获取 ComboBox 的行编辑文本。这是一个简单而又有用的技巧,可以帮助您更好地使用 PyQt5 开发 GUI 应用程序。