【qt】控件QLabel
1.Qlabel
QLabel的文本显示
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->label->setTextFormat(Qt::PlainText);//设置文本格式为纯文本
ui->label->setText("这是纯文本");//设置文本内容
ui->label_2->setTextFormat(Qt::RichText);//设置文本格式为富文本
ui->label_2->setText("这是富文本");
ui->label_3->setTextFormat(Qt::MarkdownText);//设置文本格式为markdown
ui->label_3->setText("这是markdown");
}
但是发现三个显示效果是一样的
富文本在文本两边加 < b> <\b>就会有加粗的效果,而纯文本不会有
markdown下文本前面加#就是一级标题
QLabel的图片显示
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
QRect rect=this->geometry();//获取当前窗口的大小
ui->label->setGeometry(0,0,rect.width(),rect.height());//将标签和窗口设置一样大小
QPixmap pix(":/tt.png");//构建图片对象
ui->label->setPixmap(pix);//给标签设置图片对象
ui->label->setScaledContents(true);//将图片铺满整个屏幕
}
setScaledContents区别
setScaledContents的区别
当铺满整个屏幕,当窗口大小改变时,标签大小是不会改变的
当窗口大小发生变化时,会有事件同步捕捉窗口大小,resizeevent函数实现多态,重写resizeevent函数里面修改标签的值随窗口大小
void Widget::resizeEvent(QResizeEvent *event)
{
qDebug()<<event->size();
ui->label->setGeometry(0,0,event->size().width(),event->size().height());//修改标签大小和窗口大小一样
}
效果演示:
Qlabel随窗口大小变化
Qlabel 对齐
Qt.AlignLeft | 按钮向左对齐。 |
---|---|
Qt.AlignHCenter | 按钮水平居中。 |
Qt.AlignRight | 按钮向右对齐。 |
Qt.AlignTop | 按钮向上对齐。 |
Qt.AlignBottom | 按钮向下对齐 |
Qt.AlignVCenter | 按钮垂直居中。 |
QLabel自动换行
ui->setupUi(this);
ui->label->setText("这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本");
ui->label->setWordWrap(true);//自动换行
QLabel设置缩进
ui->label_2->setText("这是一段文本");
ui->label_2->setIndent(30);//设置缩进
QLabel设置缩进,也设置换行
ui->label_3->setText("这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段");
ui->label_3->setWordWrap(true);//自动换行
ui->label_3->setIndent(30);//设置缩进距离边界30像素
既设置了换行,也设置缩进,会给每一行缩进而不是第一行
QLabel设置边距
ui->label_4->setText("这是一段文本");
ui->label_4->setMargin(50);//设置边距
Qlabel设置伙伴
此时可以通过快捷键alt+a,alt+b,快速切换两个选择
演示:
Qlabel设置伙伴
Qt 中,QLabel中写的文本,是可以指定“快捷键”
此处快捷键的规则功能上要比QPushButton弱很多
是在文本中使用&跟上一个字符来表示快捷键.
比如&A=>通过键盘上的alt+a来触发这个快捷键。
&B=>通过键盘上的alt+b来触发
绑定了伙伴关系之后,通过快捷键就可以选中对应的单选按钮/复选按钮