当前位置: 首页 > news >正文

详细介绍:Qt C++ :QWidget类的主要属性和接口函数

文章目录

  • QWidget作为界面组件时的属性
  • QWidget作为窗口时的属性
  • QWidget 的其他接口函数


QWidget是所有界面组件类的基类。
QWidget定义的一些属性、接口函数、信号和槽是所有界面组件共有的。了解了QWidget的基本特性,通常就能了解界面组件的通用特性。

QWidget作为界面组件时的属性

在QtDesigner中设计界面时,在窗体上放置一个QWidget组件,属性编辑器里会显示QWidget组件的属性。
一个属性一般有一个读取函数和一个设置函数,例如属性font的读取函数是font(),设置函数是setFont(),根据属性名称就大致能写出读取函数和设置函数名称。

属性名称属性值类型功能
enabledbool组件的使能状态,enabled为true时才可以操作组件
geometryQRect组件的几何形状,表示组件在界面上所占的矩形区域
sizePolicyQSizePolicy组件默认的布局特性,这个特性与组件的水平、垂直方向尺寸变化有关
minimumSizeQSize组件的最小尺寸,QSize包含width和 height 两个属性
maximumSizeQSize组件的最大尺寸
paletteQPalette组件的调色板,调色板定义了组件一些特定部分的颜色,如背景色、文字颜色等
fontQFont组件使用的字体。QFont定义了字体名称、大小、粗体、斜体等特性
cursorQCursor鼠标光标移动到组件上时的形状
mouseTrackingbool若设置为true,只要鼠标在组件上移动,组件就接收鼠标移动事件:否则,只有在某个鼠标键被按下时,组件才接收鼠标移动事件
tabletTrackingbool是否开启平板跟踪,默认值是false,表示只有当触笔与平板计算机接触时,组件才接收平板事件
focusPolicyQt:FocusPolicy组件的焦点策略,表示组件获取焦点的方式
contextMenuPolicyQt:ContextMenuPolicy组件的上下文菜单策略,上下文菜单是指在组件上点击鼠标右键时弹出的快捷菜单
acceptDropsbool组件是否接收拖动来的其他对象
toolTipQString鼠标移动到组件上时,在光标处显示的简短提示文字
statusTipQString鼠标移动到组件上时,在主窗口状态栏上临时显示的提示文字,显示2秒后自动消失
autoFillBackgroundbool组件的背景是否自动填充,如果组件使用样式表设定了背景色,这个属性会被自动设置为 false
styleSheetQString组件的样式表。样式表用于定义界面显示效果

在这里插入图片描述
组件的sizePolicy属性是QSizePolicy类型,它定义了组件在水平和垂直方向的尺寸变化策略。

Horizontal Policy表示组件在水平方向的尺寸变化策略,Vertical Policy表示组件在垂直方向的尺寸变化策略,其值都是枚举类型QSizePolicy::Policy,各枚举常量的含义如下。

  • QSizePolicy:Fixed:固定尺寸,QWidget 的 sizeHint()函数返回组件的建议尺寸作为组件的固定尺寸,即便使用了布局管理,组件也不会放大或缩小。
  • QSizePolicy:Minimum:最小尺寸,组件缩小到最小尺寸之后就不再缩小。使用sizeHint()函数的返回值作为最小尺寸,或使用minimumSize属性设置的值作为最小尺寸。
  • QSizePolicy:Maximum:最大尺寸,组件放大到最大尺寸之后就不再放大。使用sizeHint()函数的返回值作为最大尺寸,或使用maximumSize属性设置的值作为最大尺寸。
  • QSizePolicy:Preferred:首选尺寸,使用sizeHint()函数的返回值作为最优尺寸,组件仍然可以缩放,但是放大时不会超过sizeHint()函数返回的尺寸。
  • QSizePolicy:Expanding:可扩展尺寸,sizeHint()函数的返回值是可变大小的尺寸,组件可扩展。
  • QSizePolicy::MinimumExpanding:最小可扩展尺寸,sizeHint()函数的返回值是最小尺寸,
    组件可扩展。
  • QSizePolicy:Ignored:忽略尺寸,sizeHint()函数的返回值被忽略,组件占据尽可能大的空间。

在使用尺寸策略时,QWidgetsizeHint()函数会起到很大作用,在组件的父组件尺寸变化时,sizeHint()返回组件的建议尺寸。

组件的sizePolicy属性有默认值,例如,QLineEdit的水平策略是Expanding,垂直策略是Fixed,也就是水平方向可扩展,垂直方向是固定尺寸;QTextEdit 的水平策略是Expanding,垂直策略是Expanding,也就是水平方向和垂直方向都是可扩展的。

QWidget作为窗口时的属性

QWidget可以作为独立的窗口,其子类QMainWindowQDialog也是常用的窗口类。QWidget作为窗口时有一些与窗口相关的属性。

属性属性值类型功能
windowTitleQString窗口标题栏上的文字,若要利用windowModified属性,需要在标题文字中设置占位符“[*]”
windowIconQIcon窗口标题栏上的图标
windowOpacityqreal窗口的不透明度,取值范围是0.0~1.0。0.0表示完全透明,1.0表示完全不透明。默认值是1.0
windowFilePathQString窗口相关的含路径的文件名,这个属性只在Windows平台上有意义,如果没有设置windowTitle属性,程序将自动获取不含路径的文件名作为窗口标题
windowModifiedbool表示窗口里的文档是否被修改,若该属性值为true,窗口标题中的占位符“[*]” 会显示为“+”
windowModalityQt:WindowModality窗口的模态,这个属性只在Windows平台上有意义,表示窗口是否处于上层
windowFlagsQt:WindowFlags窗口的标志,是枚举类型Qt:WindowFlag的一些值的组合

QWidget 的其他接口函数

当QWidget作为独立的窗口时,有如下一些与窗口显示有关的公有槽函数。

bool close () //关闭窗口
void hide () //隐藏窗口
void show () //显示窗口
void showFullScreen () //以全屏方式显示窗口
void showMaximized () //窗口最大化
void showMinimized () //窗口最小化
void showNormal() //全屏、最大化或最小化操作之后,恢复正常大小显示

QWidget中定义的信号只有3个,定义如下:

void customContextMenuRequested(const Qpoint &pos)
void windowIconChanged (const QIcon &icoa)
void windowTitleChanged (const QString &titlo)

其中,customContextMenuRequested()信号是在组件上点击鼠标右键时被发射的,一般用于创建组件的快捷菜单。

QWidget类还定义了大量与事件处理相关的函数,后续详细介绍事件处理。

http://www.jsqmd.com/news/33378/

相关文章:

  • 黑龙江公务员考试靠谱培训公司推荐排行榜,公务员考试培训机构
  • 基础排序算法(九)桶排序
  • 新晋社区之星何晨阳:从使用者到贡献者,我是如何理解并反哺开源?
  • 2025年304材质不锈钢网筐厂家权威推荐:DIN托盘不锈钢网筐/304不锈钢消毒清洗篮/轧花网压型筐源头厂家精选
  • 2025年封闭母线槽生产厂家权威推荐榜单:浇注母线槽/母线槽/密集母线槽源头厂家精选
  • 2025 年地坪源头厂家最新推荐榜:五大优质企业深度测评,含材料施工一体化服务及权威协会认证
  • 华为云认证 - 云学堂「集证」有礼 - 实践
  • mysql命令行登录
  • 2025年高压电子束焊机厂商排名:高压电子束焊机生产厂全解析
  • 2025年哈尔滨比较好的公考培训企业排名,公考专业培训机构推荐
  • 2025年电动截止阀定制厂家排行,电动截止阀定制厂家推荐
  • Windows2019IIS+PHP+MySQL环境搭建教程
  • PostgreSQL认证培训考试中心【工信人才唯一指定】
  • 2025 年地板厂家最新推荐排行榜:涵盖橡胶、工业、复合 PVC 等多品类且适配多元场景的优质企业优选指南epdm 橡胶颗粒/强化实木地板公司推荐
  • 2025年哈尔滨孤独症和自闭症的区别在哪里机构权威推荐榜单:怎么判断孩子自闭症/自闭症康复训练/治疗自闭症最好方法源头厂家精选
  • 2025年甘肃处理恋爱纠纷权威推荐:甘肃处理劳动纠纷/甘肃处理侵权纠纷/甘肃处理遗产继承服务机构精选
  • 适合高级用户的15款Linux发行版
  • 2025年度医用钢制瓦楞板推荐供应商:正规厂商品牌实力全解析
  • 2025年打包箱活动房工厂权威推荐:折叠打包箱房/双层打包箱房/面板折叠箱房源头厂家精选
  • 2025年自动油皮机实力厂家权威推荐榜单:全自动腐竹机/全自动油皮机/全自动腐竹生产线源头厂家精选
  • docker部署安装milvus(向量数据库)、配置依赖etcd和MinIO - 详解
  • 从零搭建私有云盘:基于RustFS的全栈实践指南
  • 11/6
  • 《白色相簿2》终章-滑雪线小春线玩后感
  • Unity TMP(TextMesh Pro)字体导入及相关设置整理(官方文档整理)
  • AWS S3服务,将当前桶设置成公开访问教程
  • 头戴式蓝牙耳机静电整改案例-ASIM阿赛姆
  • 计算机网络基础篇——计算机基础 - 指南
  • HTML语义化:当网页会说话 - 实践
  • 2025年天津实验室装修机构权威推荐:天津厂房设计/天津写字楼装修/天津办公室装修服务商精选