QLabel運用最多的控制項

2021-10-25 13:49:25 字數 2882 閱讀 6611

ui->qrcode->setpixmap(qpixmap(":/pic/pay_success.png"));

在專案裡看到這一句**qrcode是qlabel控制項,就在網上學習了一下

qlabel是qt最為基本和常用的乙個控制項。其定義包含在中。

1、整體簡介(qlabel功能):qlabel的功能就是顯示文字或者,沒有使用者互動功能,這也就是經常不位qlabel控制項設定焦點的原因,qlabel外觀可以通過不同的方式進行設定,同時有乙個非常重要的功能,其可以作為另外乙個控制項的焦點助記鍵,即設定qlabel快捷鍵則將焦點跳到指定的控制項,如qlineedit,此控制項通過qlabel的setbuddy函式設定。

qlabel可以使用的型別及設定方法:

純出文字或者富文字 使用 settext(qstring)

乙個pximap 使用setpixmap(qpixmap)

乙個movie 使用setmovie(qmovie)

乙個int或者double數字 則使用setnumber(int、number),會將數字轉換為純文字字元

清空內容則使用clear。

需要注意的是,使用了任何上述的一種方式,之前的內容都會被clear掉。

預設qlabel顯示內容適合left-alignment 和vcenter-alignment,自適應擴充套件的。

2、調整qlabel外觀(qlabel屬性設定)

1)調整內容的顯示位置

alignment,是qt::alignment,通過setalignment(qt::alignment)設定alignment()獲取屬性值,內容顯示位置,常見有上下左右及上下居中和左右居中

intent,內容縮排畫素,使用inten()獲取,setintent(int pix)設定,這裡需要提醒一下,如果intent為負數,預設為-1或者沒有設定,則此值是根據一下規則計算出來的:

如果framewidth()是0,則intent是0,如果大於0,則intent值是字元『x』在當前控制項所使用對應的字型font()占用寬度的一般。
2)調整qlabel控制項的邊界margin,則用setmargin(int)

3)文字內容可以設定其是否根據換行進行換行及bool wordwrap,setwordwrap進行設定。

5)text屬性,是qlabel的文字內容,通過settext(qstring)設定,text()獲取,如果沒有則獲取位空,同樣設定了時會將之前的內容清空。

pixmap屬性,儲存qlabel設定為的屬性。pixmap獲取,setpixmap設定。如果沒有則獲取位空,同樣設定了時會將之前的內容清空。
6)textformat:qlabel顯示文字的型別,setttextformat(qt::textformat)進行設定,其取值:

qt::plaintext   0   純文字  

qt::richtext 1 富文字

qt::autotext 2 qt::mightberichtext() 返回是qt::richtext則為1,否則為0

7)hasselectedtext : const bool是否選擇文字內容,也在qlabel內容為text時使用

hasselectedtext()獲取是否有,selectedtext()返回選擇的字元,可以設定字元使用void setselection(int start,int length)將起始位置和長度的字元。

textinteractionflags:表示qlabel如何互動,當顯示內容為text的時候。

如果包含 qt::linksaccessiblebykeyboard 焦點策略被設定為 qt::strongfocus. 如果是 qt::textselectablebykeyboard 則設定為 qt::clickfocus.預設是 qt::linksaccessiblebymouse.

如果需要通過滑鼠鍵盤選取文字,則此滑鼠必須是textselectablebymouse 或則textselectablebykeyboard.

3、qlabel互動功能:設定qlabel的助記符及buddy(夥伴),即使用qlabel設定快捷鍵,會在快捷鍵後將焦點設定到其buddy之上。設是用到了qlabel互動控制項的功能。此buddy可以是任何乙個widget控制項。使用setbuddy(qwidget *)設定,其qlabel必須是text內容,並且使用『&』符號設定了助記字元,如
4、qlabel其他常使用的介面

qlabel::qlabel ( qwidget * parent = 0, qt::windowflagsf = 0 )

建立乙個空的qlabel

qlabel::qlabel ( const qstring & text, qwidget * parent = 0, qt::windowflagsf = 0 )

建立以乙個qlabel,顯示內容為文字

void clear() [slot]清空顯示內容

qwidget *buddy()返回其buddy物件,如果有,否則返回0,通過setbuddy設定

qmovie *movie()返回qlabel的movie內容,沒有則返回0,通過setmovie(qmovie)設定的

qpicture *picture()返回qlabel的picture內容,沒有返回0,通過setpicture(qpicture)設定的

int selectionstart()返回選擇字元的開始位置,沒有則返回-1.通過void setselection(int start,int length)設定選擇對應文字的其實位置和長度

其次,qlabel不需要互動功能,唯一用到的互動功能是設定助記符,將快捷鍵指定到其buddy控制項

根據qlabel內容進行屬性的設定和獲取,如顯示文字時可以設定wordwrap,是可以設定scaledcontets等

QLabel 標籤控制項的應用

label qlabel 我是李明 建立標籤控制項物件.引數 標籤中要顯示的文字 label.settext 我是明明 修改標籤控制項顯示的文字self.label.text 返回標籤的文字self.label.resize 200,20 設定標籤的寬和高adjustsize 根據內容自適應大小 注...

使用者控制項的運用和讀取控制項的資料

n 方法一 使用使用者控制項的findcontrol方法,找到使用者控制項中的控制項,進一步取得其資料 不需要在控制項中處理,但是需要知道使用者控制項中要使用的控制項的id 在使用者控制項中使用parent屬性找到頁面,再通過findcontrol方法找到要訪問的控制項 using system u...

C Winfrom 簡單的運用Timer控制項

注意,在使用dateandtime時,需要新增引用 using microsoft.visualbasic 否則不可以計算時間之間的差值。using system using system.collections.generic using system.componentmodel using s...