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

Qt学习:QLabel的用法及其程序示例主要成员函数:1.voidsetText(QString);//设置label框内的文本. 2.voidhide();//隐藏label框. 3.voidsetBuddy(QWidget*);//把另一个部件设为label框的伙伴,方便快捷使用. 4.voidclear();//清空label框内所有内容. 5.voidsetPixmap(…

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

主要成员函数:

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内的代码:”代码中包含注释,方便理解.

#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”内的代码:

#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内的代码:”

#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的官方文档进行学习,作一些扩展!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • activiti动态新增任务节点_activity流程图

    activiti动态新增任务节点_activity流程图前言在上一篇,我们演示了如何基于组任务进行审批,其实从任务分类上看,属于单实例任务,即每个审批节点只有一个任务实例,为什么这么说呢?这就要说到activity的多实例任务了。activity对于单个审批节点来说,可能存在需要多个审批人的场景,即只有多个人审批完毕这个节点才算结束,通俗来说,就是我们熟悉的会签(多个人审批通过)以及或签(某个人审批通过),下面我们来演示一下这种场景的使用1、定义流程文件这里需要说明的是,节点的其他定义都类似,但是配置某个节点为多实例的时候,需要配置的地方如图中所示,即

  • volatile关键字及其作用「建议收藏」

    volatile关键字及其作用「建议收藏」概述:本文主要介绍Java语言中的volatile关键字,内容涵盖volatile的保证内存可见性、禁止指令重排等。

  • linux shell 文件内容,Linux用shell修改文件内容[通俗易懂]

    linux shell 文件内容,Linux用shell修改文件内容[通俗易懂]sed-i’s/abc/xxx/g’fileabc修改前的字符串xxx是修改后的字符串file是要被修改的文件例如:我有一个文件是map_server#!/bin/bash#chkconfig:23451090#description:StartsandStopstheMapServer.DIRECTORY=xxxxxxMAPSERVER_HOME=/usr/map/ma…

  • Android SDK下载安装及环境配置

    Android SDK下载安装及环境配置前面两步,我们已经配置了JDK变量环境,并安装好了Eclipse,通过这两步之后Java的开发环境就准备好了,如果我们只是开发普通的JAVA应用程序的话,那么到这里就可以了。但如果我们要通过Eclip

  • 精雕软件怎么把图片转成灰度图_怎么把普通的照片变成浮雕用的灰度图 精雕图 灰度图 浮雕图之间怎么能联系起来使用…

    精雕软件怎么把图片转成灰度图_怎么把普通的照片变成浮雕用的灰度图 精雕图 灰度图 浮雕图之间怎么能联系起来使用…怎么把普通的照片变成浮雕用的灰度图用PS啊,里面有这种效果的,若需要帮忙的话,可以加发给我一份啊,尽量帮你哈,呵呵用photoshop把照片变成灰度图,用PS做有很多方法,介绍两种:方法1:简单一步到位,直接在图像,模式里选择灰度即可。方法2:设置黑白照片,比“灰度”命令稍复杂,但可以保留更多照片细节。适合专业人士。怎样把普通图片做成浮雕用的的BMP灰度图?:使用工具:photoshop软件1、…

  • 垃圾图像分类流程图yolov4-tiny_用python编写垃圾分类系统

    垃圾图像分类流程图yolov4-tiny_用python编写垃圾分类系统数据下载链接https://pan.baidu.com/s/1wr3h2Wc720uqUeIroTCIJA百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1wr3h2Wc720uqUeIroTCIJA提取码:mqic为什么要进行垃圾分类?当废物处理不当-时,就会发生回收污染-,就像回收带有油的比萨盒(堆肥)一样。或者当废物得到正确处理但未正确准备.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号