Qt QLabel的使用

QLabel类主要用来文本和图像的显示,没有提供用户交互功能.QLabel对象的视觉外观可以由用户自定义配置.

它还可以为另外一个可获得焦点的控件作为焦点助力器.

QLabel可以显示下列的所有类型:

Plain text //通过setText()设置显示纯文本.
Rich text //通过setText()设置富文本.
A pixmap //通过setPixmap()设置图片.
A movie //通过setMovie()设置QMovie.一般是gif动画.
A number //通过setNum()把数字转化为字符串显示.
Nothing //空文本,相当于调用了clear().

QLabel设置了新内容会覆盖旧的内容,如果要显示文字又显示图片,可以用样式表设置背景图片

   m_pLblStyleSheet = new QLabel(this);
    m_pLblStyleSheet->resize(200, 200);
    m_pLblStyleSheet->move(m_pLblText->x() + m_pLblText->width() + 2, 0);
    m_pLblStyleSheet->setScaledContents(true);
    m_pLblStyleSheet->setAlignment(Qt::AlignCenter);
    //这个不会适应图片,可能出现图片显示不全或者无法充满整个QLabel
//    m_pLblStyleSheet->setStyleSheet(QString("background-image:url(:/image/bg.jpg)"));
    //这个会自动适应图片,我这里还设置了文本的颜色
    m_pLblStyleSheet->setStyleSheet(QString("border-image:url(:/image/bg.jpg);color:rgb(128,128,128);"));
    m_pLblStyleSheet->setText("This is style sheet");

下面这段代码label->setBuddy(lineEdit);是设置行编辑器作为label 的伙伴,所谓伙伴(buddy)就是就是一个窗口部件,按上面英文就是当你按下快捷键的时候,

这个快捷键是在label上标明的,然后焦点就会移动到label的小伙伴身上。
 label = new QLabel(tr("Find &what:"));
    lineEdit = new QLineEdit;
    label->setBuddy(lineEdit);

可利用QLabel制作弹幕,主要特别的地方有:

this->setWindowFlags(Qt::FramelessWindowHint|Qt::Tool|Qt::WindowStaysOnTopHint);
//设置没有窗体,没有工具栏,顶部窗体,可用于弹幕制作
QDesktopWidget desktopWidget=QApplication::desktop(); //获取桌面设置
rect=desktopWidget->screenGeometry(); //获取屏幕大小

开发中可能会需要加一些跑马的效果,会使界面看起来很炫,而且可以达到提醒用户的作用。

简单实现了左跑马的效果,使用的是QLabel显示的文字,利用QTimer来控制跑马的速度

原文:https://blog.csdn.net/u011417605/article/details/51207274


参考: https://blog.csdn.net/qq_37233607/article/details/80325068

原文地址:https://www.cnblogs.com/nanqiang/p/10020115.html