📅  最后修改于: 2023-12-03 15:33:51.819000             🧑  作者: Mango
在 PyQt5 中,可以使用 ComboBox 对象来让用户从预定义的选项中进行选择。通常情况下,ComboBox 中的选项较多,用户往往需要通过一个搜索框来查找自己需要的选项。本文将介绍如何通过 ComboBox 中的文本查找项目的方法。
from PyQt5.QtWidgets import *
app = QApplication([])
combo = QComboBox()
combo.addItems(['Alice', 'Bob', 'Charlie', 'David', 'Eva'])
combo.show()
app.exec_()
from PyQt5.QtCore import *
def on_text_changed(text):
print(text)
app = QApplication([])
combo = QComboBox()
combo.addItems(['Alice', 'Bob', 'Charlie', 'David', 'Eva'])
edit = QLineEdit()
edit.textChanged.connect(on_text_changed)
vbox = QVBoxLayout()
vbox.addWidget(combo)
vbox.addWidget(edit)
widget = QWidget()
widget.setLayout(vbox)
widget.show()
app.exec_()
from PyQt5.QtCore import *
def on_text_changed(text):
index = combo.findText(text)
if index >= 0:
combo.setCurrentIndex(index)
app = QApplication([])
combo = QComboBox()
combo.addItems(['Alice', 'Bob', 'Charlie', 'David', 'Eva'])
edit = QLineEdit()
edit.textChanged.connect(on_text_changed)
vbox = QVBoxLayout()
vbox.addWidget(combo)
vbox.addWidget(edit)
widget = QWidget()
widget.setLayout(vbox)
widget.show()
app.exec_()
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
def on_text_changed(text):
index = combo.findText(text)
if index >= 0:
combo.setCurrentIndex(index)
app = QApplication([])
combo = QComboBox()
combo.addItems(['Alice', 'Bob', 'Charlie', 'David', 'Eva'])
edit = QLineEdit()
edit.textChanged.connect(on_text_changed)
vbox = QVBoxLayout()
vbox.addWidget(combo)
vbox.addWidget(edit)
widget = QWidget()
widget.setLayout(vbox)
widget.show()
app.exec_()
本文介绍了如何通过 ComboBox 中的文本查找项目的方法,使用 QLineEdit 连接文本变化信号,再使用 QComboBox 的 findText 方法查找 ComboBox 中包含文本的选项,并设置 ComboBox 的当前项。