正試圖建立翻譯,並把它放在一個搜索欄。與QLineEdit 和我想要的是自動完成這個詞。 .. 我試過了。但是這個代碼不工作,我在談論SearchBar功能。但其餘的代碼正好與其他程序一起工作。但SearchBar功能不起作用。並沒有完成我輸入的內容LineEditPython PyQt QLineEdit搜索欄
from PyQt4 import QtGui,QtCore
import sys
from MainWin import Ui_MainWindow
import sqlite3
conn = sqlite3.connect('DictDB.db')
cors = conn.cursor()
class MainApp(QtGui.QMainWindow,Ui_MainWindow):
def __init__(self):
super(MainApp,self).__init__()
self.setupUi(self)
self.showMaximized()
cors.execute("SELECT * FROM DictContents")
for raw in cors.fetchall():
self.TextBrowserAra.append(raw[0])
self.TextBrowserGer.append(raw[1])
self.SearchBar(raw[0].strip(),raw[1].strip())
def SearchBar(self,keys,values):
mydict = {}
AraKey = mydict[0]=[keys]
GerKey = mydict[1]=[values]
Model = QtGui.QStringListModel()
ModAra = Model.setStringList(AraKey)
ModGer = Model.setStringList(GerKey)
completer = QtGui.QCompleter()
CompAra = completer.setModel(ModAra)
ComGer = completer.setModel(ModGer)
self.LineEditAra.setCompleter(CompAra)
self.LineEditGer.setCompleter(ComGer)
感謝重播。但我知道它會工作,如果我設置列表如 AraKey = ['a','ab','abc'] 但問題是將數據庫中的鍵和值傳遞給SearchBar函數。它給我其他resulte :(不工作,我認爲,因爲鍵不是一個列表,所以我會找到一種方法來首先將它轉換爲列表。 – PyCoder
反正你關於setModel()和setCompleter()的說明 是非常有幫助..謝謝 – PyCoder