前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Qt学习:QLabel的用法及其程序示例

Qt学习:QLabel的用法及其程序示例

作者头像
全栈程序员站长
发布于 2022-08-03 05:52:51
发布于 2022-08-03 05:52:51
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

主要成员函数:

1.void setText(QString); //设置label框内的文本. 2.void hide(); //隐藏label框. 3.void setBuddy(QWidget*); //把另一个部件设为label框的伙伴,方便快捷使用. 4.void clear(); //清空label框内所有内容. 5.void setPixmap(QPixmap(QString)); //设置图片. 6.void setMovie(QMovie*); //设置电影. 7.void setScaledContents(bool); //设置是否按比例填充满整个label框(非常重要) 8.void setToolTip(QString); //设置信息提示,鼠标放在label框上面会自动跳出文字. 9.void setToolTipDuration(int); //设置信息提示的持续时间,单位是毫秒. 10.void setAlignment(Qt::Alignment); //设置label框的对齐格式. 11.void setStyleSheet(QString); //设置label框的样式.


根据上面的QLabel的用法,下面有个关于QLabel的程序代码示例: 下面是程序运行后的情况:


首先进行通过Qt设计师进行布局:

以下是”c.cpp内的代码:”代码中包含注释,方便理解.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "c.h"c::c(QWidget *parent)
    : QMainWindow(parent)
{    //应用Qt设计师
    ui.setupUi(this);    //修改标题.
    this->setWindowTitle(QString::fromLocal8Bit("QLabel的程序实例:"));    //给QStringList填充进去图片.
    initPictureList();    //给QMovie对象申请一块空间.
    movie = new QMovie;    //给两个QLabel对象设置新的文本.
    ui.movieLabel->setText(QString::fromLocal8Bit("未显示电影"));
    ui.pictureLabel->setText(QString::fromLocal8Bit("未显示图片"));    //设置两个label框的内容位于中间.
    ui.movieLabel->setAlignment(Qt::AlignCenter | Qt::AlignHCenter);
    ui.pictureLabel->setAlignment(Qt::AlignCenter | Qt::AlignHCenter);    //初始的时候上一张按钮时无法点击的,因为没有上一张.
    ui.previousPictureButton->setEnabled(false);    //给movieLabel设置提示框,当鼠标放在label上就会出现文字提示.
    ui.movieLabel->setToolTip(QString::fromLocal8Bit("电影真好看")); 
    //设置文字提示的持续时间为5000毫秒,也就是5秒后自动消失.
    ui.movieLabel->setToolTipDuration(1000);    //设置两个label框自动填充.
    ui.movieLabel->setScaledContents(true);
    ui.pictureLabel->setScaledContents(true);    //把printLineEdit设为printLabel的伙伴,这样的话你按alt+R就会让光标位于行编辑框内.注意:设置label名字的时候要&R.
    ui.printLabel->setBuddy(ui.printLineEdit);    //连接信号与槽.
    connect(ui.startButton, SIGNAL(clicked()), this, SLOT(startMovieLabelSlot()));
    connect(ui.continueButton, SIGNAL(clicked()), this, SLOT(continueMovieLabelSlot()));
    connect(ui.previousPictureButton, SIGNAL(clicked()), this, SLOT(showPreviousPictureSlot()));
    connect(ui.nextPictureButton, SIGNAL(clicked()), this, SLOT(showNextPictureSlot()));
}

c::~c() {

}//点击开始按钮的槽函数.void c::startMovieLabelSlot() { //设置要播放的电影的路径.注意你要把gif文件放到对应的exe程序下. movie->setFileName(“Movie/0.gif”); //movieLabel应用movie. ui.movieLabel->setMovie(movie); //开始播放 movie->start(); }//点击暂停/继续按钮的槽函数.void c::continueMovieLabelSlot() { //判断当前电影的状态. if (movie->state() QMovie::Running) { movie->setPaused(true); ui.continueButton->setText(QString::fromLocal8Bit(“继续”)); } else if (movie->state() QMovie::Paused) { movie->setPaused(false); ui.continueButton->setText(QString::fromLocal8Bit(“暂停”)); } }void c::initPictureList() { //把所有照片的路径都放到QStringList里去. for (int i = 0; i < 10; ++i) { QString path = “Pixmap/” + QString::number(i) + “.jpg”; pictureList.push_back(path); } }//点击上一张按钮的槽函数.void c::showPreviousPictureSlot() { –pictureNumber; ui.pictureLabel->setPixmap(QPixmap(pictureList[pictureNumber])); if (pictureNumber 0) { ui.previousPictureButton->setEnabled(false); } ui.nextPictureButton->setEnabled(true); }//点击下一张按钮的槽函数.void c::showNextPictureSlot() { if (ui.pictureLabel->pixmap() != 0) ++pictureNumber; ui.pictureLabel->setPixmap(QPixmap(pictureList[pictureNumber])); if (pictureNumber 9) { ui.nextPictureButton->setEnabled(false); } if (pictureNumber != 0) ui.previousPictureButton->setEnabled(true); }123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107


以下是”c.h”内的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ifndef C_H#define C_H#include <QtWidgets/QMainWindow>#include “ui_c.h”#include <QMessageBox>#include <QLabel>#include <QPushButton>#include <QMovie>#include <QPixmap>#include <QString>class c : public QMainWindow{
   
   

    Q_OBJECTpublic:

    c(QWidget *parent = 0);

    ~c();private slots:    void startMovieLabelSlot();    void continueMovieLabelSlot();    void showPreviousPictureSlot();    void showNextPictureSlot();private:    void initPictureList();

    Ui::cClass ui;

    QMovie *movie;

    QStringList pictureList;    int pictureNumber = 0;

};#endif // C_H1234567891011121314151617181920212223242526272829303132333435

最后是”main.cpp内的代码:”

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include “c.h”#include <QtWidgets/QApplication>int main(int argc, char *argv[])

{
   
   

    QApplication a(argc, argv);

    c w;

    w.show();    return a.exec();

}1234567891011

关于QMovie类的操作可以去查阅Qt的官方文档进行学习,作一些扩展!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124704.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
QT 常用控件操作实例集锦
运行结果: 点击按钮1: 界面纯代码编写 以下是源码: QtGuiApplication7.h #pragma once #include <QtWidgets/QMainWindow> #incl
zls365
2020/08/19
1K0
QT 常用控件操作实例集锦
QPushButton && QLabel
QToolButton 类提供了一个快速访问按钮的命令或选项, 通常在 qtoolbar 中使用。有个关联action,还可以设置快捷键; QToolButton是一个特殊的Button, 提供快速访问特定的命令或选项。与普通命令按钮不同, QToolButton通常不显示文本标签, 而是显示图标。 QPushButton是常用按钮,一般可以提供文字,图标都在按钮上。可以设置一定的界面风格等。
zls365
2020/08/19
1.4K0
QPushButton && QLabel
Qt实战:云曦日历篇
自国务院印发《推进普惠金融发展规划(2016—2020年)》通知以来,各省、自治区、直辖市人民政府、国务院各部委各直属机构积极响应,认真贯彻执行,普惠金融发展已经进入了高潮阶段,各大互联网公司和高校紧跟时代潮流,推出了各种创新性产品和软件,该软件作为一款以培养兴趣,提高学生软件项目的编程项目能力为目的,所创建的一款实用性的软件,以日历为依托,创建了许多相关的特效,优美界面和天气查询、日程管理等实用性功能,且界面等均符合当下青少年的审美需求,是一款紧跟潮流的日历软件
灵彧
2022/10/31
1.5K0
Qt实战:云曦日历篇
01 qt快速入门
1991年由Qt Company(奇趣)开发的跨平台C++图形用户界面应用程序开发框架,GUI程序和非GUI程序。优点:一套源码在不同的平台通过不同的编译器进行编译,就可以运行到该平台上目标机。面向对象的封装机制来对其接口封装。
天天Lotay
2023/10/15
3230
01 qt快速入门
图片浏览器?Qt也可以实现!
Windows的图片浏览器大家都用过,可以查看当前文件夹下的图片,往上翻、往下翻并且自动播放。在这一节里,Jungle将用Qt来设计这么一个图片浏览器,实现以下功能:
用户6557940
2022/07/24
1.1K0
图片浏览器?Qt也可以实现!
Qt学习(二)------实例mynotepad制作
最近在看高老师的视频教程,自己跟着做了一个txt编辑器,功能很简单,能实现编辑,保存,撤销,复制粘贴等基础功能;关于那边有一些特效
致Great
2023/08/26
2020
Qt学习(二)------实例mynotepad制作
Qt 学习记录
[],标识一个 Lambda 的开始,这部分必须存在,不能省略。外部变量访问方式说明符只能使用定义 Lambda 为止时 Lambda 所在作用范围内可见的局部变量(包括 Lambda 所在类的 this)。外部变量访问方式说明符有以下形式:
小简
2023/01/04
7.2K0
Qt 学习记录
PyQt5:QLabel(1)
QLable Qt常用控件之一,常用来文字标题,显示图片,显示动图等 同样的,UI,ui文件转为py文件,采用之前的方法。
何其不顾四月天
2023/03/10
5370
Qt项目DeskGirl开发
不能播放gif,太大了,给个静态图片吧,实际上桌面壁纸是动态的,人物也是动态的,可自定义桌面壁纸,有默认的数字时钟壁纸
DeROy
2020/07/28
9730
Qt项目DeskGirl开发
QT入门学习——从信号和槽到对话框,各种控件以及自定义控件
2.4默认创建有窗口类,yWidget,基类有三种选择:QWidget、QMainWindowQDialog
Arya
2024/10/31
4900
QT入门学习——从信号和槽到对话框,各种控件以及自定义控件
C/C++ Qt 基础通用组件的应用
QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率。
王瑞MVP
2022/12/23
3.8K0
C/C++ Qt 基础通用组件的应用
【QT】QT事件处理
QT中,事件作为一个对象,继承自QEvent类,常见的有键盘事件QKeyEvent、鼠标事件QMouseEvent和定时器事件QTimerEvent等。QT中,任何QObject子类示例都可以接收和处理事件。实际编程中通常实现部件的paintEvent()、mousePressEvent()等事件处理函数来处理特定部件的特定事件。
半生瓜的blog
2023/05/13
1.6K0
【QT】QT事件处理
QT应用编程: 开发TCP网络调试助手
TCP网络调试助手,在网络相关开发、嵌入式开发里使用较多,主要用来测试网络传输,调试等等。
DS小龙哥
2022/01/07
1.9K0
QT应用编程:  开发TCP网络调试助手
qt运行cmd命令_cmd ping大包命令
在实现QT调用外部程序cmd.exe的时候传回来的参数需要显示在textbrowser控件上,但是一直等待数据全部接受完毕会才显示,会导致页面卡死的假象,所以下面利用append()进行每次都更新,可以很好的解决这个问题。
全栈程序员站长
2022/09/29
2.4K0
QT(三).电子相册(3)
需要注意的是,这里面定义了一个 Ui_Pic 类 , 这个类我们之前在 pic.h 中见过
franket
2021/09/14
1.1K0
【QT】显示类控件
虽然 QPushButton 也可以通过设置图标的⽅式设置图⽚,但是并⾮是⼀个好的选择。更多的时候还是希望通过 QLabel 来作为⼀个更单纯的显⽰图⽚的⽅式。
YoungMLet
2024/07/16
1440
【QT】显示类控件
Qt 添加菜单及菜单的事件响应(完整的示例)
Qt添加菜单有两种方法,一是用代码直接手动添加,二是在Qtdesigner中在界面上直接添加。
zls365
2020/08/19
7.3K0
Qt 添加菜单及菜单的事件响应(完整的示例)
qt tabwidget切换_标签怎么在新窗口打开
QTabWidget 用来分页显示 重要函数: 1.void setTabText(int, QString); //设置页面的名字. 2.void setTabToolTip(QString); //设置页面的提示信息. 3.void setTabEnabled(bool); //设置页面是否被激活. 4.void setTabPosition(QTabPosition::South); //设置页面名字的位置. 5.void setTabsClosable(bool); //设置页面关闭按钮。 6.int currentIndex(); //返回当前页面的下标,从0开始. 7.int count(); //返回页面的数量. 8.void clear(); //清空所有页面. 9.void removeTab(int); //删除页面. 10.void setMoveable(bool); //设置页面是否可被拖拽移动. 11.void setCurrentIndex(int); //设置当前显示的页面.
全栈程序员站长
2022/11/04
3.8K0
qt tabwidget切换_标签怎么在新窗口打开
PySide6 GUI 编程(7):QLabel的使用
bowenerchen
2024/07/20
3741
PySide6 GUI 编程(7):QLabel的使用
Qt Label 控件使用技巧
我学过其他的一些语言,在设计程序界面的时候如果想显示一些文字可以使用 Label 控件,如果要显示图片可以使用 img 控件,要显示动画可以使用一些其他的控件,但这些在 Qt 中,全部都可以用 Label 控件实现,甚至他还可以以html方式显示控件。
我与梦想有个约会
2023/10/20
2120
Qt Label 控件使用技巧
相关推荐
QT 常用控件操作实例集锦
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文