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();
}