QLabel是我们最常用的控件之一,其功能很强大,我们可以用来显示文本,图片和动画等。
一:显示文字 (普通文本、html)
通过QLabel类的setText函数设置显示的内容:
void setText(const QString &)
- 可以显示普通文本字符串
QLabel *label = new QLabel(this);
label->resize(100,20);
label->move(100,100);
label->setText("Hello,World");
- 可以显示HTML格式的字符串
比如显示一个链接:
QLabel *label = new QLabel(this);
label->resize(100,50);
label->move(100,100);
label ->setText("<h1><a href=\"https://www.baidu.com\">baidu</a></h1>");
label ->setOpenExternalLinks(true);
其中setOpenExternalLinks()函数是用来设置用户点击链接之后是否自动打开链接,如果参数指定为true则会自动打开,如果设置为false,想要打开链接只能通过捕捉linkActivated()信号,在自定义的槽函数中使用QDesktopServices::openUrl()打开链接,该函数参数默认值为false。
二:显示图片
可以使用QLabel的成员函数setPixmap设置图片
void setPixmap(const QPixmap &)
例程:
//首先定义QPixmap对象
QPixmap pixmap;
//然后加载图片
pixmap.load(":/Image/1.jpg");
//最后将图片设置到QLabel中
QLabel *label = new QLabel;
label.setPixmap(pixmap);
三:显示动画
可以使用QLabel 的成员函数setMovie加载动画,可以播放gif格式的文件
void setMovie(QMovie * movie)
例程:
//首先定义QMovie对象,并初始化:
QMovie *movie = new QMovie(":/Mario.gif");
//将动画设置到QLabel中:
QLabel *label = new QLabel(this);
label->setMovie(movie);
//播放加载的动画:
movie->start();