Qt应用开发——QLabel的使用

这篇具有很好参考价值的文章主要介绍了Qt应用开发——QLabel的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

        QLabel标签继承于QFrame,QFrame继承于QWidget,是Qt中最基础也是最常用的控件。

        框架类QFrame介绍

Qt应用开发——QLabel的使用,QT应用开发,qt,c++,上位机,pc

        QLabel不提供用户交互功能,标签的视觉外观可以通过多种方式进行配置,并且可以使用它为其他界面的标签,QLabel可以用来显示以下这些内容:

  • 纯文本:纯文本数据
  • 富文本:又称呼为格式化文本,具有风格、排版等信息,如颜色、式样(黑体、斜体等)、字体尺寸、特性(如超链接)等
  • 显示图像信息
  • 显示gif文件
  • 直接显示一个double或者int类型的数字
  • 什么内容都不显示也可以

         因此在实际项目中,标签可以用来做品名、重量、名称、体积等简要标识,温度、电压、电流、功率等实时信息标识,公司、产品logo的显示,网址、导航等超链接,gif动画,视频文件单帧图片显示,甚至直接设置固定大小用来做占位符。

二、QLabel类

1、text

        该属性代表当前标签文本。

QString text() const                //当前内容
void setText(const QString &)       //设置内容

2、alignment

        该属性代表文本水平和垂直方向对齐,同一时间可以同时指定两个方向的对齐方式。默认的对齐方式为水平靠左、垂直居中。

        Qt布局管理

Qt::Alignment alignment() const;        // 获取对齐方式 
void setAlignment(Qt::Alignment align); // 设置对齐方式 

3、indent

        该属性代表文本的缩进值。

int indent() const;             // 获取文本缩进值 
void setIndex(int indent);      //设置文本缩进值 

4、margin

        该属性代表显示内容的边距。

int margin() const;             // 获取边距 
void setMargin(int margin);     // 设置边距 

5、hasSelectedText   

        该属性表示是否有任何选定的文本,如果用户已经选择了部分或全部文本,则hasSelectedText()返回true,否则返回false。

        注意:在标签上设置的textInteractionFlags需要包括TextSelectableByMouse或TextSelectableByKeyboard。

 bool hasSelectedText() const

6、selectedText

        该属性表示所选文本,如果没有选定文本,则此属性的值为空字符串。默认情况下,此属性包含一个空字符串。

        注意:在标签上设置的textInteractionFlags需要包括TextSelectableByMouse或TextSelectableByKeyboard。

QString selectedText() const

7、textInteractionFlags

        该属性表示标签在显示文本时应如何与用户输入交互,默认值为Qt::TextSelectableByMouse。

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
定义 描述
Qt::NoTextInteraction 不与用户交互
Qt::TextSelectableByMouse 可以用鼠标选择文本,并使用上下文菜单或标准键盘快捷键将文本复制到剪贴板。
Qt::TextSelectableByKeyboard 可以用键盘上的光标键选择文本。显示一个文本光标。
Qt::LinksAccessibleByMouse 链接可以用鼠标突出显示和激活。
Qt::LinksAccessibleByKeyboard 链接可以使用tab键聚焦,并使用enter键激活。
Qt::TextEditable 文本是可编辑的。
Qt::TextEditorInteraction TextSelectableByMouse | TextSelectableByKeyboard | TextEditable
Qt::TextBrowserInteraction TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard

8、openExternalLinks

      该属性表示QLabel是否应该使用QDesktopServices::openUrl()自动打开链接,而不是发出linkActivated()信号。

        注意:标签上设置的textInteractionFlags需要包括LinksAccessibleByMouse或LinksAccessibleByKeyboard。

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

9、pixmap

        该属性表示当前显示的图像信息。

const QPixmap *pixmap() const;         // 获取显示的图像 
void setPixmap(const QPixmap &pixmap); // 设置显示的图像

         实例:QPixmap加载png图片,然后通过setPixmap方法显示图片。scaledContents默认值为false,当启用并且标签显示像素图时,它将缩放像素图以填充可用空间。

QLabel *label = new QLabel(this);
QPixmap picture1 ;
picture1.load("D:/creator-gs-01.png");
label = new QLabel(this);
label->setPixmap( picture1);
label->setScaledContents(true);//自适应大小
label->resize(200, 200);

 Qt应用开发——QLabel的使用,QT应用开发,qt,c++,上位机,pc

10、scaledContents

        该属性用于确定标签是否缩放其内容以填充所有可用空间。

bool hasScaledContenes() const;      // 判断是否允许图像缩放 
void setScaledContents(bool on);     // 设置是否允许图像缩放 
bool hasScaledContenes() const;      // 判断是否允许图像缩放
void setScaledContents(bool on);     // 设置是否允许图像缩放

11、wordWrap

        该属性代表显示的文本是否允许换行。

bool wordWrap() const;         // 判断是否允许换行 
void setWordWrap(bool on);     // 设置是否允许换行 

12、movie

       该属性表示当前显示的gif信息。

QMovie *movie() const;       //获取当前的gif信息
void setMovie(QMovie *movie);//显示一个通过QMovie加载的gif文件

        实例:使用QMovie加载需要播放的gif文件,设置播放速度,200代表200%,也就是2X的速度。

QLabel *label = new QLabel(this);
ui->label->resize(320,200);
QMovie *movie = new QMovie("D:/earth.gif");
movie->setSpeed(200);//设置速度
movie->start();
ui->label->setMovie(movie);

 Qt应用开发——QLabel的使用,QT应用开发,qt,c++,上位机,pc

13、textFormat

        该属性表示当前的文本格式。

Qt::TextFormat textFormat() const
void setTextFormat(Qt::TextFormat)
定义 描述
Qt::PlainText 纯字符串
Qt::RichText 富文本 Supported HTML Subset
Qt::AutoText 自动识别纯字符串还是富文本

14、公共函数

1)buddy

        设置小部件为“伙伴”。

QWidget *buddy() const
void setBuddy(QWidget *buddy)

       实例:当用户按下Alt+N时,焦点跳转到Name字段,当用户按下Alt+P时,焦点跳转到Phone字段。

ui->label->setText("&Name:");
ui->label_2->setText("&Phone:");
ui->label->setBuddy(ui->lineEdit);
ui->label_2->setBuddy(ui->lineEdit_2);

Qt应用开发——QLabel的使用,QT应用开发,qt,c++,上位机,pc

2)setNum

        使用setNum,参数直接传入int或者double,直接会被转字符串输出。

void setNum(double num)
void setNum(int num)
3)clear

        清除当前标签内容。

void clear()

15、信号

1)linkActivated

        当用户单击链接时发出此信号

void linkActivated(const QString &link)
2)linkHovered 

        当用户鼠标停留在链接上时发出此信号

void linkHovered(const QString &link)

实例:QLabel 显示使用HTML 4标记子集指定的富文本,

ui->label->setOpenExternalLinks(true);
ui->label->setText("<a style='color: green; text-decoration: none' href = https://blog.csdn.net/u014491932/article/details/131740931?spm=1001.2014.3001.5501>CSDN");
ui->label->setAlignment(Qt::AlignCenter);


ui->label_2->setText("<a style='color: green; text-decoration: none' href = https://blog.csdn.net/u014491932/article/details/131740931?spm=1001.2014.3001.5501>CSDN");
ui->label_2->setAlignment(Qt::AlignCenter);
connect(ui->label_2, &QLabel::linkActivated, [=](QString url){
        QDesktopServices::openUrl(QUrl(url));
    });

Qt应用开发——QLabel的使用,QT应用开发,qt,c++,上位机,pc文章来源地址https://www.toymoban.com/news/detail-580732.html

到了这里,关于Qt应用开发——QLabel的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 《Qt开发》MDI应用程序

    《Qt开发》MDI应用程序

    实现多个子窗体的自定义布局(自定义子窗体尺寸和位置)、平铺布局(titleSubWindows)和分页模式(QMdi::TabbedView)。 运行效果图 初始布局(自定义布局) 平铺布局 多页模式 实现过程 1. 创建项目MdiFirstDemo,并创建3个子窗体,分别为FirstSubWindow、SecondSubWindow和ThirdSubWindow。

    2024年01月16日
    浏览(27)
  • Qt应用开发——下载安装和HelloWorld

    Qt应用开发——下载安装和HelloWorld

            工欲善其事,必先利其器。第一步环境安装好是必要的过程。Qt 在23年4月份已经更新到了6.5.0,相对于其他的工具,Qt不断在维护升级这一点就非常的友好,这里对版本的迭代更新内容不做介绍,做应用开发的话肯定是版本越新最好。官网下载的每个版本都提供了

    2024年02月16日
    浏览(10)
  • QT客户端开发的应用场景

    QT客户端开发的应用场景

    QT 是一跨平台应用程序开发框架,支持多种操作系统,包括 Windows、macOS、Linux、Android、iOS 和嵌入式系统等。这使得 QT 非常适合开发需要在多种平台上运行的应用程序。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 QT 提供了一套完整的开发工具和

    2024年04月29日
    浏览(9)
  • VS下开发Qt应用环境搭建

    VS下开发Qt应用环境搭建

    vs2019 QT5.14 我之前是按照QT基础组件的安装,但是这个安装只是最基础的组件,如果想要在VS中使用QT,还得安装其他组件,下面的安装流程、 我之前已经安装了QT,现在需要新增套件 Qt安装完毕后,如何再添加移除组件 运行MaintenanceTool.exe QT 此操作至少需要一个处于启用状态

    2024年02月14日
    浏览(12)
  • CMake+QT+大漠插件的桌面应用开发

    CMake+QT+大漠插件的桌面应用开发

    在CMake+大漠插件的应用开发——处理dm.dll,免注册调用大漠插件中已经说明了如何免注册调用大漠插件,以及做了几个简单的功能调用(查找窗口、截图) 下面来利用 QT 和 大漠插件 做一个简单的窗口查找、截图的桌面工具应用,功能点如下 点击“注册”选项完成大漠插件

    2024年01月19日
    浏览(14)
  • Qt应用开发(基础篇)——进度条 QProgressBar

    Qt应用开发(基础篇)——进度条 QProgressBar

             QProgressBar 类继承于QWidget,是一个提供了横向或者纵向进度条的小部件。           QProgressBar 进度条一般用来显示用户某操作的进度,比如 烧录、导入、导出、下发、上传、加载 等这些需要耗时和分包的概念,让用户知道程序还在正常的执行中。       

    2024年02月10日
    浏览(33)
  • C++ Qt开发:SqlTableModel映射组件应用

    C++ Qt开发:SqlTableModel映射组件应用

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍 SqlTableModule 组件的常用方法及灵活运用。 在多数情况下我们需要使用SQL的方法

    2024年02月04日
    浏览(10)
  • 16-4_Qt 5.9 C++开发指南_Qt 应用程序的发布

    用 Qt 开发一个应用程序后,将应用程序提供给用户在其他计算机上使用就是应用程序的发布。应用程序发布一般会提供一个安装程序,将应用程序的可执行文件及需要的运行库安装到用户计算机上,即使用户计算机上没有安装 Qt 也能正常运行安装的程序。 Qt的应用程序发布

    2024年02月14日
    浏览(31)
  • YOLOv5+QT5界面应用开发

    YOLOv5+QT5界面应用开发

    YOLOv5+QT5的UI界面开发 最终界面图: 本文章基于python3.7的Annaconda中虚拟环境开发: 1.1 配置YOLOv5环境 https://github.com/ultralytics/yolov5 下载yolov5程序后,虚拟环境下运行: activate v5 pip install -r requirements.txt 1.2 配置QT环境 pip install pyqt5 pyqt5-tools 使用pyqt5自带的图形界面设计工具:de

    2023年04月19日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包