国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

QT核心編程之鍵盤焦點 (5)

移動開發(fā)
Qt的窗口部件在圖形用戶界面中按用戶的習(xí)慣的方式來處理鍵盤焦點,一個焦點移出事件會被發(fā)送給焦點窗口部件(如果有的話)告訴它關(guān)于失去焦點的事情。然后一個焦點進入事件被發(fā)送給這個窗口部件告訴它剛剛接收到焦點。

QT核心編程之鍵盤焦點是本節(jié)介紹的內(nèi)容,QT核心編程我們要分幾個部分來介紹,想?yún)⒖几鄡?nèi)容,請看末尾的編輯推薦進行詳細閱讀,先來看本篇內(nèi)容。

Qt的窗口部件在圖形用戶界面中按用戶的習(xí)慣的方式來處理鍵盤焦點?;境霭l(fā)點是用戶的擊鍵能定向到屏幕上窗口中的任何一個,和在窗口中任何一個部件中。當(dāng)用戶按下一個鍵,他們期望鍵盤焦點能夠到達正確的位置,并且軟件必須盡量滿足這種希望。系統(tǒng)必須確定擊鍵定位在哪一個應(yīng)用程序、應(yīng)用程序中的哪一個窗口和窗口中的哪一個窗口部件。

1、焦點移動的方式

把焦點定位特殊的窗口部件的習(xí)慣方式有:

(1)用戶按下Tab鍵(或者Shift鍵+Tab鍵)(或者有時是Enter鍵)。

(2)用戶點擊一個窗口部件。

(3)用戶按下一個鍵盤快捷鍵。

(4)用戶使用鼠標(biāo)滾輪。

(5)用戶移動焦點到一個窗口,并且應(yīng)用程序必須決定窗口中的哪個窗口部件應(yīng)該得到焦點。

這些移動機制的每個都是不同的,并且不同類型的窗口部件只能接收它們中的一些方式的焦點。下面我們將按次序介紹它們。

(1)Tab或者Shift+Tab.

按Tab鍵是到目前為止用鍵盤移動焦點的最通用的方法。有時在輸入數(shù)據(jù)的應(yīng)用程序中Enter鍵和Tab鍵的作用是一樣的。我們暫時忽略這一點。

所有窗口系統(tǒng)中的有關(guān)焦點的最通用使用方法是:按Tab鍵移動鍵盤焦點到每個窗口的窗口部件循環(huán)列表中的下一個窗口部件。Tab鍵按照循環(huán)列表的一個方向移動焦點,Shift鍵+Tab鍵按另一個方向移動焦點。按Tab鍵從一個窗口部件到下一個窗口部件移動焦點的次序叫做Tab鍵次序。

在Qt中,窗口部件循環(huán)列表存放在QFocusData類中。每個窗口有一個QFocusData對象,并且當(dāng)選擇合適的 QWidget::FocusPolicy焦點策略的QWidget::setFocusPolicy()被調(diào)用的時候,窗口部件自動把它們自己追加到列表的末尾。你可以使用QWidget::setTabOrder()來自定義Tab鍵控制次序。如果你沒有定義這個次序,那么Tab鍵會按照窗口部件構(gòu)造的順序移動焦點。Qt designer工具提供了一個可視化的改變Tab鍵控制次序的方法。

因為按Tab鍵是如此的常用,大多數(shù)含有焦點的窗口部件應(yīng)該支持Tab焦點。主要例外情況是幾乎沒用到的窗口部件,并且在窗口部件上有一些移動焦點的鍵盤快捷鍵或者錯誤處理。

(2)用戶點擊一個窗口部件。

在使用鼠標(biāo)或者其它指針設(shè)備的計算機中,用鼠標(biāo)點擊一個窗口部件是一種比按Tab鍵更常用的方法。

當(dāng)鼠標(biāo)點擊把焦點移到一個窗口部件時,對于編輯器窗口部件,它也會移動文本光標(biāo)(窗口部件的內(nèi)部焦點)到鼠標(biāo)被點擊的地點。

鼠標(biāo)點擊移動焦點是大多數(shù)窗口部件必須支持的,有時窗口部件需要避免鼠標(biāo)點擊移動焦點。例如:在一個字處理程序中,當(dāng)用戶點擊"B"(粗體)工具按鈕,鍵盤焦點應(yīng)該保留在原來的位置。在Qt中,只有QWidget::setFocusPolicy()函數(shù)影響點擊焦點。

(3)用戶按下一個鍵盤快捷鍵。

使用鍵盤快捷鍵來移動焦點不是很常用。這種情況可能會隱含地發(fā)生在打開的模式對話框中,但是也會顯式地發(fā)生在使用焦點加速器中,例如在QLabel::setBuddy()、QGroupBox和QTabBar提供的加速器中。

用戶想讓焦點跳到的窗口部件都應(yīng)支持快捷鍵焦點。例如:一個Tab對話框為它的每一個頁提供鍵盤快捷鍵,所以用戶可以按下比如Alt+P來跳到打印頁面。但只能有少量的快捷鍵,并且為命令提供鍵盤快捷鍵也很重要,如:在標(biāo)準(zhǔn)快捷鍵列表中,Alt+P也可以用來粘貼、播放或打印。

(4)用戶使用鼠標(biāo)滾輪。

在Microsoft Windows上,鼠標(biāo)滾輪的用法是一直由有鍵盤焦點的窗口部件處理。在Mac OS X和X11上,它由獲得其它鼠標(biāo)事件的窗口部件處理。

Qt處理這種平臺差異的方法是當(dāng)滾輪被使用時,讓窗口部件移動鍵盤焦點。每個窗口部件上有合適的焦點策略,應(yīng)用程序可以在Windows、Mac OS X和X11上按照習(xí)慣正確地處理焦點。

(5)用戶移動焦點到這個窗口。

在這種情況下,應(yīng)用程序必須決定窗口中的哪一個窗口部件接收焦點。Qt自動實現(xiàn)這樣的做法:如果焦點以前在這個窗口中,那么窗口中有焦點的***一個窗口部件應(yīng)該重新獲得焦點。如果以前焦點就從來沒有來到過這個窗口,并且你知道焦點應(yīng)該從哪里開始,就在你調(diào)用QWidget::show()顯示它之前,在應(yīng)該接收焦點的窗口部件上調(diào)用QWidget::setFocus()。如果你不知道,Qt會選擇一個合適的窗口部件。

2、焦點策略及操作函數(shù)

鍵盤焦點的策略及操作函數(shù)說明如下:

(1)焦點策略屬性變量

focusPolicy 焦點策略屬性變量保存的是窗口部件接收鍵盤焦點的策略。如果窗口部件通過tab來接收鍵盤焦點,這個策略就是QWidget::TabFocus;如果窗口部件通過點擊來接收鍵盤焦點,這個策略就是QWidget::ClickFocus;如果窗口部件上述兩種方式都使用,是 QWidget::StrongFocus;并且如果它不接收焦點(QWidget的默認(rèn)值),是QWidget::NoFocus。

如果一個窗口部件處理鍵盤事件,你必須使鍵盤焦點生效。這通常在窗口部件的構(gòu)造函數(shù)中完成。例如,QLineEdit的構(gòu)造函數(shù)調(diào)用setFocusPolicy(QWidget::StrongFocus)。

(2)void QWidget::setFocus() [虛槽]

函數(shù)setFocus()把鍵盤輸入焦點賦給這個窗口部件(或者它的焦點代理)。

首先,一個焦點移出事件會被發(fā)送給焦點窗口部件(如果有的話)告訴它關(guān)于失去焦點的事情。然后一個焦點進入事件被發(fā)送給這個窗口部件告訴它剛剛接收到焦點。(如果焦點移出和進入的窗口部件是同一個的話,就什么都沒有發(fā)生。)

函數(shù)setFocus()會把焦點給一個窗口部件,而不管它的焦點策略,但是不會清空任何鍵盤捕獲(grabKeyboard())。請注意如果窗口部件是被隱藏的,它將不接收焦點

(3)void QWidget::setFocusProxy(QWidget * w) [虛]

函數(shù)setFocusProxy設(shè)置這個窗口部件的焦點代理為窗口部件w。如果w為0,這個函數(shù)重置這個窗口部件沒有焦點代理。

一些窗口部件,比如QComboBox,能夠"擁有焦點",但創(chuàng)建一個子窗口部件來實際處理這個焦點。例如,QComboBox創(chuàng)建了一個QLineEdit來處理焦點。

當(dāng)"這個窗口部件"獲得焦點時,setFocusProxy()設(shè)置的這個窗口部件實際獲得焦點。如果有了一個焦點代理,focusPolicy()、setFocusPolicy()、setFocus()和hasFocus()都在這個焦點代理上操作。

小結(jié):QT核心編程之鍵盤焦點的內(nèi)容介紹完了,希望本文對你有所幫助,如果需要參考更多的內(nèi)容,請看編輯推薦。

【編輯推薦】

QT核心編程之Qt模板庫(1)

QT核心編程之集合類 (2)

QT核心編程之Qt線程 (3)

QT核心編程之鼠標(biāo)拖放 (4)

QT核心編程之會話管理 (6)

QT核心編程之調(diào)試技術(shù) (7)

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-22 10:12:08

Qt 線程

2011-06-22 09:40:32

QT 模板庫 模板

2011-06-22 10:20:11

QT 鼠標(biāo) 拖放

2011-06-22 10:45:21

QT 調(diào)試

2011-06-22 09:58:04

QT 集合類

2011-06-22 10:39:56

QT 會話管理

2011-06-30 13:49:00

Qt 鍵盤 聚焦

2011-06-17 15:06:14

Qt

2011-12-23 10:17:25

Android音樂編程管理音頻焦點

2011-06-29 18:09:57

Qt 矩陣鍵盤

2012-10-29 13:25:54

JavaScriptJSjQuery

2015-04-24 09:48:59

TCPsocketsocket編程

2011-06-29 15:14:22

Qt Embedded 鍵盤

2011-06-29 15:36:21

Qt Embedded 鍵盤

2022-02-14 15:07:48

進程FileChanne線程

2017-02-07 18:34:16

Linux編程PING

2011-07-21 10:17:53

java

2011-06-13 16:51:19

Qt Socket

2011-06-10 12:44:09

2011-06-24 15:30:22

QT 皮膚 QSS
點贊
收藏

51CTO技術(shù)棧公眾號

在线播放亚洲激情| 国产资源第一页| 国产视频一区在线| 中文字幕人成人乱码| cao在线视频| 日韩成人xxxx| 久久影院资源站| 日韩一区二区三区资源| 国产精品成人免费精品自在线观看| 午夜视频成人| 性欧美亚洲xxxx乳在线观看| 日韩高清一区在线| 亚洲网站在线看| 国产亲近乱来精品视频| av影院在线| www.xxxx欧美| 国外成人在线视频网站| 99精品热视频| www.黄在线观看| 国产亚洲成av人片在线观黄桃| 激情小视频网站| 精品国产在天天线2019| 97在线看免费观看视频在线观看| 国产福利片一区二区| 久久综合99re88久久爱| 北条麻妃在线| 欧美精品在线看| 久久精品国语| 88av在线| 欧美美最猛性xxxxxx| 日本女人一区二区三区| 最近中文字幕mv免费高清在线| 俺也去精品视频在线观看| 午夜在线播放视频欧美| 中文字幕伊人| 欧美高清视频在线播放| 激情偷乱视频一区二区三区| 九色在线观看视频| 欧美中文字幕视频| 91久色porny| 亚洲v.com| 日韩国产欧美一区| 日本久久电影网| 你懂的一区二区三区| 黄色一级片播放| 亚洲免费人成在线视频观看| 亚洲精品三级| 日本一区高清| 国产成人亚洲综合91| 久久久久成人黄色影片| 日韩欧美中文免费| 午夜精品123| 久久精品高清| 亚洲女同同性videoxma| eeuss鲁一区二区三区| 欧美交换配乱吟粗大25p| 精品欧美一区二区三区精品久久 | 日韩激情欧美| 一本色道婷婷久久欧美| 亚洲第一在线| 97精品国产露脸对白| 黑人巨大精品欧美黑白配亚洲| 2023国产精品久久久精品双| 亚洲综合精品| 中文字幕校园春色| 亚洲欧美日韩久久| 一本色道久久综合精品竹菊| 国产伦精品一区二区三区千人斩| 精品日本视频| 中文av在线全新| 人交獸av完整版在线观看| 1024国产在线| 国产二区三区在线| 香蕉成人app免费看片| 欧洲性视频在线播放| 美女精品视频| 樱桃视频成人在线观看| 69堂精品视频在线播放| 精品91福利视频| 亚州av一区| 亚洲影视一区| 亚洲影视在线| 国产一区二区三区四区在线观看| 国产原创一区二区三区| heyzo一本久久综合| 国产欧美日韩一区二区三区在线观看 | 国产 欧美 日韩 一区| 国产专区在线视频| 亚洲美女屁股眼交3| 中文一区一区三区高中清不卡| 中日韩视频在线观看| 精品午夜久久福利影院| 国产欧美精品日韩区二区麻豆天美 | 久久国产精品一区| 1769免费视频在线观看| 电影一区二区三区久久免费观看| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 天天夜碰日日摸日日澡性色av| 久久精品一区二| 成人免费在线观看| 日韩av中字| 雨宫琴音一区二区三区| 国产激情一区二区三区四区| 亚洲精品欧美激情| 精品福利一区二区三区| 欧美最猛黑人xxxx黑人猛叫黄| 欧美国产一二三区| 国产福利在线播放| 制服丝袜专区在线| 欧美女人交a| 在线观看亚洲一区| 在线成人激情视频| 91在线免费网站| 久久福利一区二区| 91在线高清| 台湾色综合娱乐中文网| 久久99日本精品| 欧美性xxxxx极品| 97久久久久久| 国产人妻777人伦精品hd| av免费看在线| 手机在线一区二区三区| 91在线观看免费视频| 精品免费视频一区二区| 91极品女神在线| 波多野结衣之无限发射| √天堂8在线网| 亚洲第一伊人| 性感美女久久精品| 欧美一级高清免费播放| 116极品美女午夜一级| 亚洲不卡系列| 国产精品资源网| 亚洲精品日韩久久久| 日韩福利一区二区三区| 国产黄色在线网站| 丝袜诱惑制服诱惑色一区在线观看| 色国产精品一区在线观看| 日本精品在线视频| 97影院理论午夜| 精品精品国产毛片在线看| 国产嫩草影院久久久久| 欧美乱大交xxxxx另类电影| 人人妻人人澡人人爽欧美一区双 | 欧美日韩一区二区三区免费| 男人久久精品| 欧美~级网站不卡| 欧美日韩一区 二区 三区 久久精品| 97久久人人超碰caoprom欧美| 激情小说 在线视频| 亚洲一区久久| 亚洲精品一区av在线播放| 免费看欧美一级片| 欧美有码在线| 欧美写真视频网站| 一区在线电影| 久久xxx视频| 中文字幕一区二区三区在线不卡| 日韩美女视频免费看| 91精彩在线视频| 韩国理伦片一区二区三区在线播放 | 成人国产精品免费观看| 午夜精品久久久久久久久久久久| 成视频在线免费观看| 国产日韩欧美一区| 欧美裸体男粗大视频在线观看| 一卡二卡三卡亚洲| 国产乱码精品一区二区三区忘忧草 | 中文字幕理伦片免费看| 视频一区二区国产| 久久久久久亚洲| 精品欧美色视频网站在线观看| www.亚洲人| 国内一区二区在线视频观看| 成人在线视频观看| 欧美午夜宅男影院| 天天碰免费视频| 久久久久网站| 国产精品久久久久久久app| 欧美精品总汇| 欧美麻豆精品久久久久久| 日本免费观看网站| 久久99精品视频| 亚洲最大激情中文字幕| 综合毛片免费视频| 亚洲高清久久久| 日韩中文字幕在线不卡| 美女久久久久| 一区二区av在线| 国产小视频在线| 国产黄色在线免费观看| 国产欧美一区二区三区久久人妖| 国产视频中文字幕在线观看| 一区二区三区中文字幕| 日本一道本久久| 91视频免费观看| 九色成人在线| 亚洲欧美激情视频在线观看一区二区三区 | www.91精品| 欧美激情在线一区|