首页 > 其他分享 >Qt 之 QWidget QLabel

Qt 之 QWidget QLabel

时间:2023-12-02 20:31:35浏览次数:40  
标签:窗口 Qt QWidget 设置 组件 文本 QLabel

@TOC

前言


一、Qt 工程介绍

  1. Qt Creator 以工程项目的方式对源码进行管理一个Qt Creator工程包含不同类型的文件 。
  • .pro 项目描述文件
  • .pro.user用户配置描述文件- .h头文件
  • .cpp源文件
  • .ui界面描述文件
  • 资源文件(图片,音频,等)
  1. pro 项目描述文件的基本组成
  • #一注释起始符 : 以“#”开始,到这一行结束。快捷键:Ctrl + /
  • QT一模块声明 : 指定项目中使用Qt的模块。默认情况下,QT包含core和gui,以确保标准的GUI应用程序无需进一步的配置就可以构建。
  • TARGET一可执行文件名
  • TEMPLATE一程序模板声明 :模板变量告诉qmake为这个应用程序生成哪种makefile。
  • HEADERS-头文件声明
  • FORMS-界面文件声明
  • RC_FILE一资源文件声明

.pro 文件是 Qt 文件中的 Makefile 文件。

二、窗口组件

图形用户界面由不同的窗口 和 窗口组件构成。

组件的类型:

-- 容器类:(父组件) 用于包含其他的界面组件。

-- 功能类:(子组件)用于实现特定的交互功能。

在 Qt 中,如果顶级组件没有父组件,就叫做窗口。

1. QWidget 组件

QWidget是Qt框架中的一个基类,用于创建窗口和用户界面的可视化组件。它提供了绘制、事件处理、布局管理、窗口管理等功能,是构建各种自定义窗口和用户界面的基础。

QWidget类是所有用户界面对象的基类。

下面是一些常用的QWidget类的函数及其作用:

函数

作用

QWidget(parent)

构造函数,创建一个QWidget对象,并设置其父对象

setWindowTitle(title)

设置窗口的标题

setGeometry(x, y, width, height)

设置窗口的位置和大小

setFixedSize(width, height)

设置窗口的固定大小

setLayout(layout)

设置窗口的布局管理器

show()

显示窗口

hide()

隐藏窗口

close()

关闭窗口

resize(width, height)

调整窗口的大小

move(x, y)

移动窗口的位置

setStyleSheet(styleSheet)

设置窗口的样式表

setWindowIcon(icon)

设置窗口的图标

setWindowFlags(flags)

设置窗口的标志

setVisible(visible)

设置窗口的可见性

setEnabled(enabled)

设置窗口的可用性

size()

返回窗口的大小

width()

返回窗口的宽度

height()

返回窗口的高度

pos()

返回窗口的位置

x()

返回窗口的 x 坐标

y()

返回窗口的 y 坐标

isEnabled()

检查窗口是否启用

isVisible()

检查窗口是否可见

isHidden()

检查窗口是否隐藏

closeEvent(event)

窗口关闭事件的处理函数

resizeEvent(event)

窗口大小调整事件的处理函数

moveEvent(event)

窗口移动事件的处理函数

注意:这只是一些QWidget类的函数示例,QWidget还有其他许多函数可以用于更高级的操作和功能实现。


2. QLabel组件

QLabel是Qt框架中的一个用于显示文本或图像的小部件。它是QWidget的子类,提供了一种简单方便的方法来展示静态文本或图像,并且可以通过设置样式和属性来进行自定义。

  1. setText(text: str):设置标签的文本内容。可以使用HTML标记来格式化文本,例如设置字体、颜色、链接等。
  2. setPixmap(pixmap: QPixmap):设置标签的像素图像。可以通过QPixmap类的构造函数或从文件加载图像来创建QPixmap对象。
  3. setAlignment(alignment: Qt.AlignmentFlag):设置标签中文本或图像的对齐方式。可以使用Qt.AlignmentFlag中的常量来指定不同的对齐方式,如居中、靠左、靠右等。
  4. setWordWrap(enabled: bool):设置标签的自动换行功能。当文本内容超过标签的宽度时,如果启用了自动换行,文本会自动换行到下一行显示。
  5. setStyleSheet(styleSheet: str):设置标签的样式表。可以使用CSS样式语法来定义标签的外观,如字体、颜色、背景等。

特点: QLabel可以显示纯文本、富文本和图像。 它可以自动调整大小以适应显示内容的大小。 QLabel可以设置对齐方式、字体、颜色等属性。


总结

标签:窗口,Qt,QWidget,设置,组件,文本,QLabel
From: https://blog.51cto.com/u_16159289/8658718

相关文章

  • “QtRunWork”任务返回了 false,但未记录错误"
    编译一个复制过来的QT工程的时候出现了"errorMSB4181:“QtRunWork”任务返回了false,但未记录错误"。查看工程下的“.log”文件发现在“errorMSB4181:“QtRunWork”任务返回了false,但未记录错误。”的log上面还有一条log是RCC:Errorin'D:\xxxx':Cannotfindfile'xxx......
  • Qt之UDP多播(组播)的使用
    UdpSocket::UdpSocket(QObject*parent):QObject(parent){//本机IPQStringlocal_ip="192.168.101.11";m_udp_socket=newQUdpSocket(this);connect(m_udp_socket,&QUdpSocket::readyRead,this,&UdpSocket::received_data);......
  • QT-对于MVC中典型QTreeView简单使用参考记录
    //创建以ui文件中对应View为载体的model<-此处使用QStandardItemModel(比较常用)QStandardItemModel*model=newQStandardItemModel(ui->treeView);model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("国家")<<QStringLiteral("省份"......
  • Qt结合QThread创建一个QWidget基类,用于方便的在QWidget中执行耗时任务
    一、概述背景:Qt+OpenCV项目改造,之前项目中的OpenCV算法都是在主线程中执行,导致部分操作或者重复点击的时候界面卡顿。现在想对这块进行改造。集合QThread和QWidget设计一个QWidget基类用于方便的执行耗时任务并显示执行结果。子类只需要继承这个QWidget基类,只需......
  • 用matplot和seaborn作图,出现This application failed to start because not Qt platfo
    用matplotlib和seaborn作图,出现这样的弹窗: 尝试过增加环境变量的方法没有解决。使用了一种临时的解决方法:importmatplotlibmatplotlib.use('TKAgg')如果不需要图形化界面,只需要运行后的参数可以使用:importmatplotlibmatplotlib.use('Agg') ......
  • centos7-MQTT Server搭建(apache-apollo)搭建和配置
    #############################安装apache-apollo###################################################官方的安装文档:http://activemq.apache.org/apollo/documentation/getting-started.htmlhttp://www.apache.org/dyn/closer.cgi?path=activemq/activemq-apollo/1.7.1/apach......
  • Qt应用开发--国产工业开发板全志T113-i的部署教程
    Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用,因其跨平台性和丰富的功能而备受青睐。Qt能够为工业领域带来什么好处:-Qt提供了强大的图形引擎,使开发......
  • Qt主线程和子线程协作更新UI
    一、概述现有一个需求:Qt+OpenCV执行角点检测。使用Qt当做UI界面进行角点检测。我们知道像角点检测这种算法需要大量的计算,是比较耗时的一个操作。如果把计算+UI显示全放入主线程中计算,那么UI界面有可能就会卡主,进而出现应用程序无响应的情况。要求:使......
  • Windows10+Qt+OpenCV出现“ACCESS_MASK”: 不明确的符号
    一、概述背景:Qt+OpenCV一模一样的代码在Mac上运行是正常的,在Windows10上运行就会报一下错误。“ACCESS_MASK”:不明确的符号二、原因及解决方案原因:OpenCV4.5.3的命名空间usingnamespacecv;和windows中的ACCESS_MASK定义冲突,在windows.h头文件中。......
  • 使用emqttd时执行emqttd console时无反应或者报错Node undefined not responding to p
    1.无反应:  2.报错:Nodeundefinednotrespondingtopings. 解决办法:路径不能有空格,最好用存英文的路径。......