Qt 当QCompleter高亮显示时,传递QModelIndex而不是QString
有一个QCompleter(设置为QLineEdit)填充了QStandardItemModel。该模型还填充了QTableView,我需要获取QModelIndex并在QTableView中选择它,但是失败了,它 传递文本而不是QModelIndex:Qt 当QCompleter高亮显示时,传递QModelIndex而不是QString,qt,pyqt,qcompleter,qmodelindex,Qt,Pyqt,Qcompleter,Qmodelindex,有一个QCompleter(设置为QLineEdit)填充了QStandardItemModel。该模型还填充了QTableView,我需要获取QModelIndex并在QTableView中选择它,但是失败了,它 传递文本而不是QModelIndex: completer.highlighted.connect(print_index) 仅通过第一个索引: completer.highlighted.connect(lambda : select_index(completer.curre
completer.highlighted.connect(print_index)
仅通过第一个索引:
completer.highlighted.connect(lambda : select_index(completer.currentIndex()))
def select_index(index):
table_view.setCurrentIndex(index)
我读过文件,但不明白我做错了什么。
有两个版本:默认的一个发出字符串,另一个发出
QModelIndex
要获取索引,请使用:
completer.highlighted[QtCore.QModelIndex].connect(onHighlight)
但要小心,这是中的索引,而不是填充完成符的模型。您可以使用mapToSource
获取原始索引
def onHighLight(index):
#completer model
print(index)
#model
sourceIndex=completer.completionModel().mapToSource(index)
print(sourceIndex)
有两个版本的:默认的一个发出字符串,另一个发出
QModelIndex
要获取索引,请使用:
completer.highlighted[QtCore.QModelIndex].connect(onHighlight)
但要小心,这是中的索引,而不是填充完成符的模型。您可以使用mapToSource
获取原始索引
def onHighLight(index):
#completer model
print(index)
#model
sourceIndex=completer.completionModel().mapToSource(index)
print(sourceIndex)
我想使用
QmodelIndex
的row()
函数。它将直接返回当前选择的列表索引 我想使用QmodelIndex
的row()
函数。它将直接返回当前选择的列表索引