常用方法
文本:
// 获取和设置显示的文本
QString text() const;
void setText(const QString &text);
对齐方式:
‘
Qt::Alignment alignment() const;
void setAlignment(Qt::Alignment);
Qt::Alignment的常用取值如下:
-
Qt::AlignLeft水平方向-左对齐 -
Qt::AlignRight水平方向-右对齐 -
Qt::AlignHCenter水平方向-居中对齐 -
Qt::AlignTop垂直方向-上对齐 -
Qt::AlignBottom垂直方向-下对齐 -
Qt::AlignVCenter垂直方向-居中对齐 -
Qt::AlignCenter(AlignVCenter|AlignHCenter) 垂直方向和水平方向-居中对齐
上面的每一个宏,都代表 16 进制中的一位,可以进行或(|)操作,来同时设置多个对齐方式。
换行:
换行使能时,标签在跟随窗口缩放的过程中,如果文字可以显示在下一行,就会自动换行
// 获取和设置文本是否允许换行
bool wordWrap() const; // 判断是否允许换行
void setWordWrap(bool on); // 设置是否允许换行
图像:
可以设置和获取标签上显示的图像
// 获取和设置显示的图像
const QPixmap *pixmap() const;
void setPixmap(const QPixmap &pixmap);
提示信息:
设置后获得如下效果:

//获取和设置提示信息
QString toolTip() const
void setToolTip(const QString &)
设置背景图片
三种qss方法
- border-image:url(:/11.jpg) //使用border-image;背景图会随着QLabel的尺寸自动缩放,尺寸变得和QLabel的尺寸一样,但是可能会失真
- background-image:url(:/11.jpg) //使用background-image;背景图不会随着QLabel的尺寸自动缩放,需要美工提供的图片和QLabel的尺寸一样
- image:url(:/11.jpg) //使用image;背景图会随着QLabel的尺寸自动缩放,但是缩放的过程中图片始终保持原来的纵横比
显示gif动图
//获取和设置gif动画
QMovie *QLabel::movie() const
[slot] void QLabel::setMovie(QMovie *movie)
示例
需要注意的是需要调用QMovie的Start()方法后,gif图片才会被显示出来;gif图片也可以缩放,调用QMovie的setScaleSize()方法
QLabel * lbl = new QLabel("你好", this);
lbl -> setGeometry(10, 10, 300, 300);
QMovie * mov = new QMovie(":/333.gif");
lbl -> setMovie(mov);
//缩放,也可以不缩放
mov -> setScaledSize(lbl -> size());
//还需要调用start才能显示出来
mov -> start();
文本格式
//获取和设置label的文本格式
Qt::TextFormat textFormat() const
void setTextFormat(Qt::TextFormat)
TextFormat有三种取值:
- Qt::PlainText,纯文本显示
- Qt::RichText,如果文本内容是html,则可以解析并显示html文本
- Qt::AutoText,根据文本自动确定
- Qt::MarkdownText,如果文本内容是markdown格式,那么可以自动解析并显示
比如QLabel的文本是html,那么就会自动解析html并显示
//文本是html,且<a></a>标签表示链接,<i></i>标签表示文字倾斜
QLabel* lbl=new QLabel(R"(<a href="www.baidu.com">www.baidu.com</a><i> 哈哈</i>)",this);
lbl->setTextFormat(Qt::RichText);
效果如下:
自动显示为链接,而且鼠标悬浮上去鼠标样式也会改变,且文字也倾斜了

信号
QLabel自己的两个信号,就是下面的 链接被点击 和 鼠标悬浮到链接 信号
如果文本格式是富文本,且文本中有<a></a>链接标签,
- 点击这个链接:发射链接点击信号
- 鼠标悬浮到链接上面和离开链接:发送链接悬浮信号
void linkActivated(const QString &link)
void linkHovered(const QString &link)
文本交互属性
//获取和设置文本交互属性
Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
flags几种常见的取值:
- Qt::TextSelectableByMouse,QLabel中的文本可以被鼠标选中
- Qt::TextEditable,QLabel中的文本可以被编辑
举例:将QLabel设置为可选择且可编辑
lbl->setTextInteractionFlags(Qt::TextSelectableByMouse|Qt::TextEditable);

设置选中的文本
当文本交互属性增加可选择后,那么就可以设置被选中的文本
//start开始length个字符被选中
void QLabel::setSelection(int start, int length)
获取选中的文本
当文本交互属性增加可选择后,那么就可以获取到被选中的文本
//返回值:选中的文本
QString selectedText() const
213

被折叠的 条评论
为什么被折叠?



