QT 按鈕控制項設定快捷鍵

2021-07-10 21:45:36 字數 1320 閱讀 7325

keypressevent需要注意的地方

用setshortcut設定快捷鍵

designer 上屬性裡面設定快捷鍵

qt按鈕主要有qtoolbutton 和 qpushbutton, 它們很多時候都需要設定快捷鍵, 這樣使用者操作起來就更為方便。 設定快捷鍵的方式是有幾種的,下面總結了一下, 專案中,使用時,就看怎麼方便,快捷怎麼使用吧。

標頭檔案裡重寫事件:

virtual

void keypressevent(qkeyevent* event);

cpp檔案
void widget::keypressevent(qkeyevent* event)

else

if(event->key() == qt::key_right)

...}

它並不像mousepressevent可以直接向上面一樣用,上面的**,實際執行起來是不起作用的。

它需要對對應的按鍵設定焦點規則,否則是不能聚焦的, 所以上面的keypressevent 事件是不能夠**獲的。

需要進行**焦點規則設定:

ui->leftbutton->setfocuspolicy(qt::strongfocus);

ui->rightbutton->setfocuspolicy(qt::strongfocus);

我覺得這個應該這樣來理解:

一台電腦通常是只插入乙個滑鼠,所以不需要這樣的設定。但乙個介面上的控制項就可能有多個, 而且每個都可能用keypressevent事件,而這個事件在這麼多的控制項下面捕獲哪個控制項呢? 所以就很難辨別,這時我們對應的控制項來setfocuspolicy,就讓系統知道是那些控制項需要進行事件捕獲。

在上面使用keypressevent的方法,我們明顯地看到過程是稍稍麻煩一點的,那麼有沒有更簡便一點的呢, 那就是用setshortcut來設定, 這種更適合用**寫出來的控制項,用designer拖的控制項有更簡單的,雖然它們是一樣的。

如: leftbutton->setshortcut(qkeysequence(qlatin1string(「left」)));

rightbutton->setshortcut(qkeysequence(qlatin1string(「right」)));

在控制項對應的abstractbutton屬性裡面,有乙個shortcut屬性框,當我們選擇它時,在鍵盤上按哪個鍵,這個鍵就直接設定為快捷鍵, 當我們的控制項與對應的槽函式繫結時就會起作用。

qt高亮快捷鍵 Qt常用快捷鍵

f1 檢視幫助 f2 跳轉到函式定義 和ctrl 滑鼠左鍵一樣的效果 shift f2 宣告和定義之間切換 f4 標頭檔案和原始檔之間切換 ctrl 1 歡迎模式 ctrl 2 編輯模式 ctrl 3 除錯模式 ctrl 4 專案設定模式 ctrl 5 幫助模式 ctrl 6 輸出模式 alt 0 ...

關於QT快捷鍵設定的學習

好久沒有來寫一些東西了,新的一年裡,寫部落格,可能會成為我的乙個計畫,不定期總結問題。我喜歡在工作中,零星遇到的問題,或這有新的學習,我都會先使用為知筆記做下記錄,等後續有時間了,會整理成總結,放在這裡學習。也許簡單的幾行 只是為了增加記憶,但是時間久了再去回看也許就是自己的財富。不囉嗦,說重點。客...

QT實現Ctrl S快捷鍵(組合快捷鍵)

首先要清楚,ctrl s的組合快捷鍵中,ctrl是 修飾鍵 s是 按鍵值 平時使用的組合快捷鍵都是要先按下修飾鍵再按按值鍵,順序反了就沒有組合鍵的效果了 qt按鍵按下的事件qkeyevent中有key 和modifier key 函式返回的是發生時間的按鍵值,modifier 返回的而是修飾鍵。因此...