目录
一、属性和方法
1、文本
可以获取和设置按钮上显示的文本
// 获取和设置显示的文本
QString text() const;
void setText(const QString &text);
2、对齐方式
用于设置标签中的内容在水平和垂直两个方向上的对齐方式
// 获取和设置文本的对齐方式
Qt::Alignment alignment() const;
void setAlignment(Qt::Alignment);
其中,Qt::Alignment
是一个宏,常用取值如下:
Qt::AlignLeft(0x0001) 水平方向-左对齐
Qt::AlignRight(0x0002) 水平方向-右对齐
Qt::AlignHCenter(0x0004) 水平方向-居中对齐
Qt::AlignTop(0x0020)垂直方向-上对齐
Qt::AlignBottom(0x0040)垂直方向-下对齐
Qt::AlignVCenter(0x0080)垂直方向-居中对齐
Qt::AlignCenter(AlignVCenter | AlignHCenter) 垂直方向和水平方向-居中对齐
上面的每一个宏,可以进行或(|
)操作,来同时设置多个对齐方式。
3、换行
// 获取和设置文本是否允许换行
// 换行时:在 word-breaks处,不会将一个完整的单词显示在两行
bool wordWrap() const; // 判断是否允许换行
void setWordWrap(bool on); // 设置是否允许换行
4、图像
// 获取和设置显示的图像
const QPixmap *pixmap() const;
void setPixmap(const QPixmap &pixmap);
二、QLabel案例
1、UI布局
2、核心代码
#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
#include <QTime>
#include <QPixmap>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btn_huoqu_clicked()
{
QMessageBox::information(this,"标签演示",ui->label_hello->text());
}
void Widget::on_btn_shezhi_clicked()
{
ui->label_hello->setText(QTime::currentTime().toString());
}
void Widget::on_btn_zuo_clicked()
{
ui->label_wenzi->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
}
void Widget::on_btn_zhong_clicked()
{
ui->label_wenzi->setAlignment(Qt::AlignCenter|Qt::AlignVCenter);
}
void Widget::on_btn_you_clicked()
{
ui->label_wenzi->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
}
void Widget::on_btn_yunhuan_clicked()
{
ui->label_haha->setWordWrap(true);
}
void Widget::on_btn_stophuan_clicked()
{
ui->label_haha->setWordWrap(false);
}
static bool index = 0;
void Widget::on_btn_next_clicked()
{
QPixmap px;
if(index == 0){
px.load(QString(":/icon/xigua.ico"));
index = 1;
}else {
px.load(QString(":/icon/tao.ico"));
index = 0;
}
ui->label_tupian->setPixmap(px);
// 不要缩放,否则拉伸导致失真
ui->label_tupian->setScaledContents(false);
ui->label_tupian->setAlignment(Qt::AlignCenter);
}