欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:開發(fā)語言 【QT】Widget

柚子快報(bào)激活碼778899分享:開發(fā)語言 【QT】Widget

http://yzkb.51969.com/

目錄

widget常用屬性及其作用

enabled

geomtry

window frame

window frame的影響

相關(guān)API?

windowTitle?

windowIcon

qrc機(jī)制?

qrc使用方式

自定義鼠標(biāo)圖片?

設(shè)置字體樣式

設(shè)置鼠標(biāo)懸停提示

toolTip

控件獲取焦點(diǎn)

styleSheet ?

widget常用屬性及其作用

屬性作用enabled設(shè)置控件是否可使用geometry位置和尺寸,包含x,y,width,height四個(gè)部分windowTitle設(shè)置widget標(biāo)題windowIcon設(shè)置widget圖標(biāo)windowOpacity設(shè)置widget透明度cursor鼠標(biāo)懸停時(shí)顯示的圖標(biāo)形狀,是普通箭頭,還是沙漏,還是十字等

font

字體相關(guān)屬性.

涉及到字體家族, 字體??, 粗體, 斜體, 下劃線等等樣式

toolTip

?標(biāo)懸停在 widget 上會(huì)在狀態(tài)欄中顯?的提?信息

toolTipDuring

toolTip 顯?的持續(xù)時(shí)間.

statusTip

Widget 狀態(tài)發(fā)?改變時(shí)顯?的提?信息(?如按鈕被按下等)

whatsThis

?標(biāo)懸停并按下 alt+F1 時(shí), 顯?的幫助信息(顯?在?個(gè)彈出的窗?中).

styleSheet

允許使? CSS 來設(shè)置 widget 中的樣式.

Qt 中?持的樣式?常豐富, 對于前端開發(fā)?員上?是?常友好的.

focusPolicy

該 widget 如何獲取到焦點(diǎn).

?

Qt::NoFocus:控件不參與焦點(diǎn)管理,即?法通過鍵盤或?標(biāo)獲取焦點(diǎn)

?

Qt::TabFocus:控件可以通過Tab鍵獲得焦點(diǎn)

?

Qt::ClickFocus:控件可以通過?標(biāo)點(diǎn)擊獲得焦點(diǎn)

?

Qt::StrongFocus:控件可以通過鍵盤和?標(biāo)獲得焦點(diǎn)

?

Qt::WheelFocus:控件可以通過?標(biāo)滾輪獲得焦點(diǎn)(在某些平臺(tái)或樣式中可能不可

?)

layoutDirection

布局?向.

?

Qt::LeftToRight:?本從左到右排列,也是默認(rèn)值。

?

Qt::RightToLeft:?本從右到左排列。

?

Qt::GlobalAtomics:部件的布局?向由全局原?性決定(PS 這個(gè)翻譯其實(shí)有點(diǎn)尷尬. 其實(shí)就是根據(jù)應(yīng)?程序中的其他 widget 布局?向確定的)

inputMethodHints

針對輸?框有效, ?來提???當(dāng)前能輸?的合法數(shù)據(jù)的格式. ?如只能輸?數(shù)字, 只能

輸??期等.

enabled

API說明isEnabled()獲取到控件的可用狀態(tài)setEnabled設(shè)置控件是否可使用

示例:?

button->setEnabled(false);? //設(shè)置禁用

*所謂“禁用”指的是該控件不能接收任何用戶的輸入事件,并且外觀往往也是灰色的。

*如果一個(gè)widget被禁用,則該widget的子元素也被禁用。?

geomtry

位置和尺寸,其實(shí)是四個(gè)屬性的統(tǒng)稱:

x 橫坐標(biāo)y 縱坐標(biāo)width 寬度heigh t寬度

API說明geometry()獲取到控件的位置和尺寸,返回結(jié)果是一個(gè)QRect,包含x,y,width,height,其中 x,y是左上角的坐標(biāo) setGeometry(QRect) setGeometry(int x,int y,int width,int height) 設(shè)置控件的位置和尺寸,可以直接設(shè)置一個(gè)QRect,也可以分四個(gè)屬性單獨(dú)設(shè)置

//獲取當(dāng)前位置信息

QRect rect = ui->pushButton_target->geometry();

//改變控件位置信息

ui->pushButton_target->

setGeometry

(rect.

x

() -

5

, rect.

y

(), rect.

width

(),

rect.

height

());

window frame

window frame的影響

如果 widget 作為?個(gè)窗? (帶有標(biāo)題欄, 最?化, 最?化, 關(guān)閉按鈕), 那么在計(jì)算尺?和坐標(biāo)的

時(shí)候就有兩種算法. 包含 window frame 和 不包含 window frame.

其中 x(), y(), frameGeometry(), pos(), move() 都是按照包含 window frame 的?式來計(jì)算

的.

其中 geometry(), width(), height(), rect(), size() 則是按照不包含 window frame 的?式來計(jì)算的.

當(dāng)然, 如果?個(gè)不是作為窗?的 widget , 上述兩類?式得到的結(jié)果是?致的.

實(shí)際差別如下圖所示?

相關(guān)API?

API說明x() 獲取橫坐標(biāo) 計(jì)算時(shí)包含 window frame y()

獲取縱坐標(biāo)

計(jì)算時(shí)包含 window frame

pos()

返回 QPoint 對象, ??包含 x(), y(), setX(), setY() 等?法.

計(jì)算時(shí)包含 window frame

frameSize()

返回 QSize 對象, ??包含 width(), height(), setWidth(), setHeight() 等?法. 計(jì)算時(shí)包含 window frame

frameGeometry()

返回 QRect 對象. QRect 相當(dāng)于 QPoint 和 QSize 的結(jié)合體. 可以獲取 x, y,

width, size. 計(jì)算時(shí)包含 window frame 對象.

width()

獲取寬度

計(jì)算時(shí)不包含 window frame

height()

獲取?度

計(jì)算時(shí)不包含 window frame

size()

返回 QSize 對象, ??包含 width(), height(), setWidth(), setHeight() 等?法.

計(jì)算時(shí)不包含 window frame

rect()

返回 QRect 對象. QRect 相當(dāng)于 QPoint 和 QSize 的結(jié)合體. 可以獲取并設(shè)置 x, y, width, size.

計(jì)算時(shí)不包含 window frame 對象

geometry

返回 QRect 對象. QRect 相當(dāng)于 QPoint 和 QSize 的結(jié)合體. 可以獲取 x, y,

width, size.

計(jì)算時(shí)不包含 window frame 對象.

setGeometry

直接設(shè)置窗?的位置和尺?. 可以設(shè)置 x, y, width, height, 或者 QRect 對象.

計(jì)算時(shí)不包含 window frame 對象

windowTitle?

API說明windowTitle()

獲取到控件的窗?標(biāo)題.

setWindowTitle(const

QString& title)

設(shè)置控件的窗?標(biāo)題.

代碼示例:

this

->

setWindowTitle

(

"

這是標(biāo)題

"

);

windowIcon

API說明windowIcon()

獲取到控件的窗?圖標(biāo). 返回 QIcon 對象.

setWindowIcon(const

QIcon&

icon

)

設(shè)置控件的窗?圖標(biāo).

注意:同 windowTitle, 上述操作僅針對頂層 widget 有效.

代碼示例:

//

創(chuàng)建圖標(biāo)對象

QIcon

icon

(

"d:/rose.jpg"

);

//

設(shè)置圖標(biāo)

this

->

setWindowIcon

(icon); ?

設(shè)置圖標(biāo)的時(shí)候,可能會(huì)存在路徑圖片的問題,因此,Qt中有一個(gè)qrc機(jī)制

qrc機(jī)制?

這個(gè)機(jī)制從根本上解決下述兩個(gè)問題:

確保你的圖片所在的路徑在目標(biāo)用戶機(jī)器上存在確保你的圖片不會(huì)被用戶搞沒了

在Qt項(xiàng)目引入一個(gè)額外的xml文件(后綴名使用 .qrc表示)在這個(gè)xml中把要使用的圖片資源給導(dǎo)入進(jìn)來,并且在xml中進(jìn)行記錄。

Qt在編譯項(xiàng)目的時(shí)候,就會(huì)根據(jù)qrc中描述的圖片信息,找到圖片內(nèi)容,并且提取出圖片的二進(jìn)制數(shù)據(jù),把這些二進(jìn)制數(shù)據(jù)轉(zhuǎn)成C++代碼,最終編譯到exe里。

但是qrc機(jī)制也存在缺點(diǎn):無法導(dǎo)入太大的資源文件,比如搞幾個(gè)GB的這種視頻文件,qrc就無能為力了

qrc使用方式

第一步:在項(xiàng)目中創(chuàng)建一個(gè)qrc文件,文件名不要帶中文和特殊符號(hào)

第二步:把圖片導(dǎo)入到qrc文件中

(1)先創(chuàng)建一個(gè)“前綴”(prefix)

所謂的“前綴”可以理解成虛擬的目錄,這個(gè)目錄沒有在你的電腦上真實(shí)存在,是Qt自己抽象出來的 ,qrc機(jī)制本質(zhì)上就是把圖片的二進(jìn)制數(shù)據(jù),轉(zhuǎn)成C++代碼(最終就會(huì)在代碼中看到很大的char數(shù)組,里面就是圖片的二進(jìn)制數(shù)據(jù))

為了方便Qt代碼中訪問到這個(gè)圖片,Qt就自己抽象出了虛擬的目錄

(2)把需要的圖片導(dǎo)入到資源文件中

?

上示的按鈕在創(chuàng)建prefix之前是禁用的,創(chuàng)建好prefix之后就可以使用了,添加的文件就是添加到prefix下面的。?點(diǎn)擊這個(gè)按鈕后,所得到的目錄就是當(dāng)前代碼所在的目錄。

導(dǎo)入圖片的時(shí)候,需要確保你導(dǎo)入的圖片必須在resourse.qrc文件的同級目錄

如上即可完成添加。

當(dāng)代碼中需要訪問qrc中管理的文件時(shí),就需要在路徑上帶有:前綴,格式如下:

QIcon icon("?:/wallhaven-7p3993.jpg")

自定義鼠標(biāo)圖片?

//訪問到圖片文件

QPixmap pixmap(":/123.jpg");

//構(gòu)造光標(biāo)對象

QCursor cursor(pixmap,10,10);

//把光標(biāo)設(shè)置進(jìn)去

this->setCursor(cursor);

但是圖片可能會(huì)因?yàn)樘蠡蛘咛?,所以我們可以通過縮放或者放大圖片以便實(shí)現(xiàn)效果

//訪問到圖片文件

QPixmap pixmap(":/123.jpg");

pixmap = pixmap.scaled(100,100);

縮放操作不是對圖像本身進(jìn)行修改,而是?返回一個(gè)新的圖像副本,所以我們需要將它在存起來

iconfont-阿里巴巴矢量圖標(biāo)庫

設(shè)置字體樣式

QLabel* label= new QLabel(this);

label->setText("這是一段文本");

//創(chuàng)建字體對象

QFont font;

font.setFamily("仿宋");

font.setPixelSize(30);

font.setBold(true);

font.setItalic(true);

font.setUnderline(true);

font.setStrikeOut(true);

//把font對象設(shè)置到lebel中

label->setFont(font);

設(shè)置鼠標(biāo)懸停提示

一個(gè)GUI程序,界面比較復(fù)雜,按鈕很多的時(shí)候,我們希望鼠標(biāo)懸停在某個(gè)控件的時(shí)候,能彈出一個(gè)提示

toolTip

API說明setToolTip 設(shè)置toolTip 鼠標(biāo)懸停在該widget上時(shí)會(huì)有提示說明 setToolTipDuring 設(shè)置toolTip提示的時(shí)間,單位ms。 時(shí)間到后toolTip自動(dòng)消失

代碼示例:

ui->pushButton_yes->

setToolTip

(

"

這個(gè)是

yes

按鈕

"

);

ui->pushButton_yes->

setToolTipDuration

(

3000

);

控件獲取焦點(diǎn)

設(shè)置控件獲取到焦點(diǎn)的策略. ?如某個(gè)控件能否??標(biāo)選中或者能否通過 tab 鍵選中.

所謂 "焦點(diǎn)" , 指的就是能選中這個(gè)元素. 接下來的操作 (?如鍵盤操作), 就都是針對該焦點(diǎn)元素進(jìn)?的了. 這個(gè)對于 輸?框, 單選框, 復(fù)選框等控件?常有?的.

API說明

focusPolicy()

獲取該 widget 的 focusPolicy, 返回 Qt::FocusPolicy

setFocusPolicy(Qt::FocusPolicy

policy

)

設(shè)置 widget 的 focusPolicy.

Qt::FocusPolicy

是?個(gè)枚舉類型. 取值如下

?

Qt::NoFocus

:控件不會(huì)接收鍵盤焦點(diǎn)

?

Qt::TabFocus

:控件可以通過Tab鍵接收焦點(diǎn)

?

Qt::ClickFocus

:控件在?標(biāo)點(diǎn)擊時(shí)接收焦點(diǎn)

?

Qt::StrongFocus

:控件可以通過Tab鍵和?標(biāo)點(diǎn)擊接收焦點(diǎn) (默認(rèn)值)

?

Qt::WheelFocus

: 類似于

Qt::StrongFocus

, 同時(shí)控件也通過?標(biāo)滾輪獲取到焦點(diǎn) (新增

的選項(xiàng), ?般很少使?).

styleSheet ?

通過 CSS 設(shè)置 widget 的樣式

CSS 中可以設(shè)置的樣式屬性?常多

. 基于這些屬性 Qt 只能?持其中?部分, 稱為 QSS (Qt Style Sheet)

. 具體的?持情況可以參考 Qt ?檔中 "Qt Style Sheets Reference" 章節(jié).

代碼示例:

this

->

setStyleSheet

(

"background-color: #333"

);

ui->textEdit->

setStyleSheet

(

"background-color: #333; color: #fff;"

);

ui->pushButton_light->

setStyleSheet

(

"color: #fff"

);

ui->pushButton_dark->

setStyleSheet

(

"color: #fff"

);

柚子快報(bào)激活碼778899分享:開發(fā)語言 【QT】Widget

http://yzkb.51969.com/

推薦鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19057410.html

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄