【Qt】常用控件 & Q widget的enabled属性,geometry属性

Qt是一个实现图形化程序的程序。为了便于我们开发,Qt为我们提供了许多“控件”。我们需要熟悉并掌握这些控件的使用。

一.什么是控件

控件是构成⼀个图形化界⾯的基本要素.

示例一:

像上述⽰例一中的,按钮,列表视图,树形视图,单⾏输⼊框,多⾏输⼊框,滚动条,下拉框等,都可以称为"控 件".

示例二:Qt designer中的控件

Qt作为⼀个成熟的GUI开发框架,内置了⼤量的常⽤控件.并且Qt也提供了"⾃定义控件"的能⼒,可以让程序猿在现有控件不能满⾜需求的时候,对现有控件做 出扩展,或者⼿搓出新的控件。

二.QWidget核心属性 

在Qt中,使⽤QWidget类表⽰"控件".像按钮,视图,输⼊框,滚动条等具体的控件类,都是继承自QWidget.

可以说,QWidget中就包含了Qt整个控件体系中,通⽤的部分.

在Qt Designer中,随便拖⼀个控件过来,选中该控件,即可在右下⽅看到QWidget中的属性

这些属性,既可以通过Qt designer直接修改,也可以通过代码修改。

注:想了解具体属性及含义,可以再帮助文档中查询。

1.简述Qwidget核心属性

表格中列出来核心属性及其作用:

属性 作用
enabled 表示控件是否可用。true表示可用,false表示不可用
geometry 位置和尺寸,包含x,y,width,height 四个部分. 其中坐标是以⽗元素为参考进⾏设置的.
windowTitle 设置widget标题
windowlcon 设置widget图标
windowOpacity 设置widget透明度
cursor 鼠标悬停时的图标形状
font 字体相关属性
toolTip 鼠标悬停在widget上会在状态栏中显示的提示信息
toolTipDuring toolTip 显⽰的持续时间
statusTip Widget 状态发⽣改变时显⽰的提⽰信息(⽐如按钮被按下等).
styleSheet 允许使⽤ CSS来设置widget 中的样式.
focusPolicy

该 widget 如何获取到焦点.

Qt::NoFocus:控件

<think>嗯,用户这次要查QtQWidget属性的中英文对照表。用户已经提供了三个站内引用,虽然这些引用主要讲的是QWidget的类关系、嵌套用法和函数说明,并没有直接列出属性表,但可以从中提取线索。仔细看这三个引用:引用[1]提到QWidget是基类,引用[2]展示父子Widget的样式继承关系,引用[3]则列举了QWidget类的函数列表。虽然都不是直接答案,但说明用户正在深入理解QWidget的使用场景。用户可能是开发者或学习者,需要双语文档辅助开发或阅读英文资料。考虑到Qt属性众多,需要区分核心属性(所有Widget通用)和特定控件属性。比如"geometry"这种几何属性是通用的,而"text"可能只适用于文本类控件。准备这样组织回答:先分类展示通用属性(几何、行为、外观),用表格形式清晰呈现中英文对照,补充注意事项说明Qt的继承机制。用户提供的引用[2]里提到的父子样式继承问题,正好对应注意事项第2点。用户的上次需求是了解QMainWindow/QDialog的区别,这次深入到QWidget属性,学习路径很清晰。可能需要提醒用户注意Qt版本差异(虽然属性基本稳定),所以在表格底部加了说明。</think> 以下是Qt中`QWidget`核心属性的中英文对照表(基于Qt 6.x版本),分为几何、行为、外观三类: --- ### **QWidget 属性中英文对照表** | **属性名 (英文)** | **中文释义** | **数据类型** | **说明** | |------------------------|--------------------------|---------------|----------| | **1. 几何属性 (Geometry)** | | | | | `geometry` | 控件几何区域 | `QRect` | 包含位置和大小 | | `x` / `y` | X/Y坐标 | `int` | 相对父容器的坐标 | | `width` / `height` | 宽度/高度 | `int` | 不含窗口边框 | | `pos` | 位置坐标 | `QPoint` | (x, y) 坐标值 | | `size` | 尺寸 | `QSize` | (width, height) | | `rect` | 内部矩形区域 | `QRect` | (0,0,width,height) | | **2. 行为属性 (Behavior)** | | | | |---------------------------|--------------------------|---------------|----------| | `enabled` | 启用状态 | `bool` | 是否响应交互 | | `visible` | 可见性 | `bool` | 是否显示 | | `focusPolicy` | 焦点获取策略 | `Qt::FocusPolicy` | 如`Qt::TabFocus` | | `toolTip` | 悬停提示文本 | `QString` | 鼠标悬停时显示 | | `whatsThis` | "这是什么?"帮助文本 | `QString` | 按Shift+F1显示 | | **3. 外观属性 (Appearance)** | | | | |-----------------------------|------------------------|---------------|----------| | `styleSheet` | 样式表 | `QString` | CSS样式规则 | | `palette` | 调色板 | `QPalette` | 颜色方案 | | `font` | 字体 | `QFont` | 文本字体 | | `cursor` | 鼠标指针形状 | `QCursor` | 如`Qt::WaitCursor` | | `windowTitle` | 窗口标题 | `QString` | 标题栏文字 | | `windowOpacity` | 窗口透明度 | `qreal` | 0.0(全透)~1.0(不透明) | --- ### **注意事项** 1. **继承关系**:所有Qt控件(如`QPushButton`、`QLabel`)均继承`QWidget`的属性,额外扩展专属属性(如按钮的`icon`)。 2. **父子样式传递**:父控件设置的样式表(`styleSheet`)可能影响子控件(需用选择器隔离)[^2]。 3. **动态获取属性**: ```cpp // 获取所有动态属性名 QStringList propNames = widget->dynamicPropertyNames(); // 读取属性 QVariant value = widget->property("customProp"); ``` --- ### **扩展说明** - **属性操作API**: - `setProperty("name", value)`:设置动态属性 - `inherits("QWidget")`:检查继承关系 - **文档定位**:在Qt Assistant中搜索 *"QWidget Properties"* 或查阅 **Qt::WidgetAttribute** 枚举类型[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值