1、QLabel繼承自QWidget正則表達式
QLabel有兩個格式能夠選擇,分別是PlainText和RichText函數
富文本支持HTML語言,即你設置QLabel的文本爲HTML,QLabel可以解析。動畫
咱們能夠使用QLabel來顯示圖,能夠使用pixmap或者qss設置ui
使用QLabel和QMovie來播放GIF動畫this
QMovie *pmov = new QMovie(":/QLabelTest/Resources/timg.gif");對象
ui.label_2->setMovie(pmov);blog
pmov->start();繼承
使用富文本顯示並處理連接點擊ip
選中label以後,右鍵改變多信息文本,選中你的連接地址,而後插入。ci
QLabel提供了兩個信號用於處理 鼠標點擊和移動。
void linkActivated(const QString &link)
void linkHovered(const QString &link)
QLabel的選擇和編輯 setTextInteractionFlags
2、QPushButton
快捷鍵設置
setShortcut/setShortcut(tr(「Alt+F7」))
第一種方法,直接在button的名字前面加上一個&符號,這樣你就能夠使用alt+button名的首字母來調用。
第二種方法,使用代碼設置。
ui->shortpushButton->setShortcut(tr("Ctrl+X,A"));
QPushButton樣式設置
flat屬性設置是否凹凸。
使用QSS, 設置圓角按鈕
QPushButton{
border-radius:10px;
color: rgb(255, 255, 255);
}
QPushButton::!hover{
background-color: qlineargradient(spread:reflect, x1:1, y1:0.522, x2:1, y2:0, stop:0.0945274 rgba(0, 0, 0, 255), stop:0.970149 rgba(255, 255, 255, 255));
}
QPushButton::hover{
background-color: qlineargradient(spread:reflect, x1:1, y1:0.54, x2:1, y2:0, stop:0.19403 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));
}
注意花括號的使用
3、QLineEdit
PlaceHolderText:顯示提示輸入信息。
clearButtonEnabled:有清空內容的按鈕。
提供了undo和redo的槽函數。
輸入驗證:
格式掩碼:適合固定長度,好比ip地址。
setInputMask(「000.000.000.000;_」)
函數參數的掩碼具體怎麼設置參考手冊,分號前是設置掩碼,分號後是表示沒有輸入時的符號表示。顯示效果以下:
格式校驗:包括整數、浮點數、正則表達式。
使用QValidator
QIntValidator *ival = new QIntValidator();
ival->setRange(10,1000);
ui.iedit->setValidator(ival);
QDoubleValidator *dval = new QDoubleValidator();
dval ->setRange(10,1000);
dval->setDecimals(3);//設置精度
//不用科學計數法
dval->setNotation(QDoubleValidator::StandardNotation);
ui.iedit->setValidator(dval);
使用QRegExpValidator
QRegExp rx(「正則表達式」);
QRegExpValidator *pReg = new QRegExpValidator(rx,this);
ui.email->setValidator(pReg);
經過對應控件的Validator()得到QValidator對象,根據這個對象進行判斷。
const QValidator * pQv = ui.email->validator();
int pos = 0;//出錯的位置
pQv->validate(ui.email->text(), pos) 判斷便可。
QLineEdit信號
editingFinshed 按下回車、焦點移開觸發
returnPressed按下回車、焦點移開觸發且格式有效
textChanged setText()都能激發。
QLineEdit QSS的樣式設置
QLine設置顯示模式(密碼),設置echoMode 爲password便可。
QSS的設置能夠查詢 Qt助手,在Qt助手搜索 Qt Style Sheet便可。以下代碼經過QSS更改了QLineEdit的密碼模式輸入的字符以及邊框還有圓角。
遍歷全部QObject的子節點
只有繼承自QObject的類才能夠遍歷全部的QObject子節點。經過當前QObject對象能夠得到對象名;經過QMetaObject對象能夠得到當前對象的類名。
const QObjectList cs = this->children();
for(int i = 0; i<cs.size(); i++)
{
qDebug() << cs[i]->objectName();
const QMetaObject *mobj = cs[i]->metaObject();
QString strclassname = mobj->className();
}