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...