QLineEdit 按鍵Tab鍵時 顯示歷史記錄

2022-08-26 07:09:09 字數 1573 閱讀 7813

#

lineedit新增歷史記錄功能,按下回車新增至歷史中

class

lineeditwithhistory(qtwidgets.qlineedit):

def__init__(self, parent ,inputlist=):

super(lineeditwithhistory, self).

__init__

(parent)

#用於存放歷史記錄的list

self.inputlist =inputlist

#lineedit設定qcompleter,用於顯示歷史記錄

self.completer =qtwidgets.qcompleter(self)

self.listmodel =qtcore.qstringlistmodel(self.inputlist, self)

self.completer.setcasesensitivity(qtcore.qt.caseinsensitive)

self.completer.setmodel(self.listmodel)

self.completer.activated.connect(self.slot_completer_activated)

self.setcompleter(self.completer)

#輸入完成按下回車後去重新增到歷史記錄中

self.returnpressed.connect(self.slot_editingfinished)

defslot_editingfinished(self):

content =self.text()

if content != ""

:

if content not

inself.inputlist:

self.listmodel.setstringlist(self.inputlist)

self.completer.setcompletionmode(qtwidgets.qcompleter.popupcompletion)

#按下回車後恢復顯示模式

defslot_completer_activated(self,text):

self.completer.setcompletionmode(qtwidgets.qcompleter.popupcompletion)

defevent(self, event):

#按下tab鍵時彈出所有記錄

if event.type() == qtcore.qevent.keypress and event.key() ==qtcore.qt.key_tab:

#設定不過濾顯示

self.completer.setcompletionmode(qtwidgets.qcompleter.unfilteredpopupcompletion)

self.completer.complete()

self.completer.popup().show()

return

true

return super().event(event)

回車實現tab鍵功能

用客戶端指令碼在頁面新增document的onkeydown事件,讓頁面在接受到回車事件後,進行tab鍵的功能,即只要把event的keycode由13變為9 這樣的處理方式,可以實現焦點往下移動,但對於按鈕也起同樣的作用,一般的客戶在輸入完資料以後,跳到按鈕後,最好能直接按 回車 進行資料的提交....

vim的tab鍵設定

多在windows上程式設計的童鞋可能習慣於感受tab鍵為4個空格的長度,不過在linux系統中一般預設設定tab鍵為8個空格長度來顯示。事實上tab也確實是8個空格的長度。不過由於習慣問題,某些童鞋還是希望在linux上也感受tab鍵為4個空格長度的顯示,因為vi編輯器在linux上是那麼地眾所周...

jQuery jquery實現Tab鍵切換

使用jquery實現tab鍵切換,簡潔易懂,實現邏輯清晰明了。具體總結如下 需求分析 滑鼠進入tab切換模組,滑鼠當前的模組上邊框變為紅色,並顯示對應的商品名稱。滑鼠離開後,上邊框恢復原色,改變。實現效果如下 頁面1 頁面2 頁面3 頁面4 頁面結構分析 2.大盒子中分ul tab 和div pro...