在原有的鍵盤基礎上新增中文輸入功能。
中文輸入候選欄chinesewidget
使用qlistwidget和樣式表實現:
settext
輸入對應拼音字母,即會載入符合的拼音中文。pressedchanged
訊號函式即為當按鍵按下,傳遞對應的中文。
class chinesewidget : public qlistwidget ;
設定qlistwidget:
setfocuspolicy(qt::nofocus);
/* 設定為列表顯示模式 */
setviewmode(qlistview::listmode);
/* 從左往右排列 */
setflow(qlistview::lefttoright);
/* 遮蔽水平滑動條 */
sethorizontalscrollbarpolicy(qt::scrollbaralwaysoff);
/* 遮蔽垂直滑動條 */
setverticalscrollbarpolicy(qt::scrollbaralwaysoff);
/* 設定為畫素滾動 */
sethorizontalscrollmode(qlistwidget::scrollperpixel);
/* 設定滑鼠左鍵拖動 */
qscroller::grabgesture(this, qscroller::leftmousebuttongesture);
/* 設定樣式 */
setstylesheet(r"(
qlistwidget
qlistwidget::item
qlistwidget::item:hover
qlistwidget::item:selected
qlistwidget::item:selected:!active
)");
字型檔載入在qmap> >
容器中。
qfile pinyin(":/chineselib/pinyin");
if (! pinyin.open(qiodevice::readonly))
while (! pinyin.atend())
部分字型檔內容預覽:
安a
按a愛a
阿a暗a
啊a埃a
礙a凹a
奧a岸a
矮a案a
俺a
取拼音首字母索引,再匹配中文。
const qlist> &tmp = m_data[text.left(1)];
for (const qpair&each : tmp)
1. 輕量級qt鍵盤-介紹篇
2. 通過索引優化查詢效能
PyQT5 009 輸入校驗器
說明 qlineedit控制項的輸入校驗器 限制只能輸入整數 浮點數或滿足一定條件的字串。校驗器校驗器 描述qintvalidator對輸入的整數文字進行校驗,可設定範圍 qdoublevalidator對輸入的浮點數文字進行校驗,可設定範圍 精度 qregexpvalidator使用自定義的正規表...
獲取通知欄高度
之前上網找了很多方法,想獲取到通知欄的高度.但都不行.有時應用做成全屏確實不方便,例如用在一些平板上,那些該死的平板的虛擬按鍵和通知欄是放在一起的.這時候就需要獲取他的高度了.如下,還是謝謝我舊公司的高手程式猿.將自己之前發在eoe論壇的帖子copy過來而已,順便把樓下的一同分享的也搬過來.這是自己...
PyQt503 選單和工具欄
選單式位於選單欄的一組命令操作。工具欄是應用窗體中由按鈕和一些常規命令操作組成的元件。qmainwindow類提供了乙個應用主視窗。預設建立乙個擁有狀態列 工具欄和選單欄的經典應用視窗骨架。狀態列是用來顯示狀態資訊的元件。import sys class example qmainwindow de...