当前位置: 首页 > 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.dtcms.com/a/453136.html

相关文章:

  • 串扰14-蛇形走线与信号延迟
  • Java SpringBoot(一)--- 下载Spring相关插件,创建一个Spring项目,创建项目出现的问题
  • 业务过程需求在软件需求中的特殊性与核心地位
  • 域名哪个网站续费商洛市住房城乡建设厅网站
  • 笛卡尔积 = 所有可能组合 = 行数相乘
  • MySQL——数据类型和表的操作
  • 工作笔记-----ICache对中文显示的影响问题
  • 什么是 Maven?关于 Maven 的命令、依赖传递、聚合与继承
  • nat静态地址转化
  • 计算机网站开发要考什么证竞价培训班
  • 《算法与数据结构》第七章[算法3]:图的最小生成树
  • 文科和理科思维差异:推演与归纳
  • 雨雪“开关式”监测:0.5秒精准响应,守护户外安全
  • 做文化传播公司网站手机建立网站
  • HTML的本质——网页的“骨架”
  • 徐州双语网站制作wordpress 外链视频
  • React 快速入门:菜谱应用实战教程
  • 网站备案和域名备案网页源码app
  • Tomcat本地部署SpringBoot项目
  • 大模型开发 - 04 QuickStart_DeepSeek 模型调用流程源码解析:从 Prompt 到远程请求
  • 怎么把在微企点做响应式网站深圳专业网站建
  • 认识三极管
  • gRPC从0到1系列【23】
  • Element Plus 完整教程:从背景到实践
  • Qt编写上下界面切换效果/前进到下一个界面/后退到上一个页面/零件工艺及管理设计系统
  • 第3章 多线程服务器的适用场合与常用编程模型
  • 网站开发什么课程佛山建站模板制作
  • Lua语法(2)
  • npm、npx、pnpm 深度解析:从原理到实战的全方位指南
  • Qt Qml Drag and Drop-鼠标拖动添加组件