【QT】QWidget 重要属性

文章目录

enabled

作用:设置控件是否可使用. true 表⽰可用, false 表⽰禁用.

对应的API

cpp 复制代码
bool isEnabled(); // 获取到控件的可⽤状态.  

void setEnabled(bool); // 设置控件是否可使⽤.  true  表⽰可⽤,  false  表⽰禁⽤.
// 所谓 "禁⽤" 指的是该控件不能接收任何⽤⼾的输⼊事件, 并且外观上往往是灰⾊的.  
// 一个widget 被禁用,其子对象也会被禁用

geometry

作用:位置和尺寸. 其实是四个属性的统称

  • x 横坐标
  • y 纵坐标
  • width宽度
  • height 高度

对应的API

cpp 复制代码
const QRect &geometry() const; 
// 获取到控件的位置和尺⼨. 返回结果是⼀个 QRect, 包含了 x, y, width, height. 其中 x, y 是左上⻆的坐标.

void setGeometry(int x, int y, int w, int h); 
void setGeometry(const QRect &)
// 设置控件的位置和尺⼨. 可以直接设置⼀个 QRect, 也可以分四个属性单独设置. 
 

window frame

如果 widget 作为⼀个窗口(带有标题栏, 最⼩化, 最⼤化, 关闭按钮), 那么在计算尺寸和坐标的时候就有两种算法. 包含 window frame 和 不包含 window frame.

其中 x(), y(), frameGeometry(), pos(), move() 都是按照包含 window frame 的⽅式来计算的 。

其中 geometry(), width(), height(), rect(), size() 则是按照不包含 window frame 的⽅式来计算的 。

windowTitle

作用:设置 widget 标题

API

cpp 复制代码
QString windowTitle() const; // 获取到控件的窗⼝标题. 

void setWindowTitle(const QString &); // 设置控件的窗⼝标题.  

windowIcon

作用:设置 widget 图标

API

cpp 复制代码
QIcon windowIcon() const; // 获取到控件的窗⼝图标.  返回 QIcon 对象.

void setWindowIcon(const QIcon &icon); // 设置控件的窗⼝图标.  

qrc 机制

如果我们把图片⽂件放到构建目录中, 可能在不小心删除后就丢失了. 我们还是希望能够把图片和源代码放到⼀起, 并且使我们的程序无论拷贝到任何位置中都能正确使⽤图片.qrc 机制帮我们自动完成了上述工作, 更方便的来管理项目依赖的静态资源.

qrc ⽂件是⼀种XML格式的资源配置⽂件, 它⽤XML记录硬盘上的⽂件和对应的随意指定的资源名称. 应⽤程序通过资源名称来访问这些资源.

在Qt开发中, 可以通过将资源文件添加到项⽬中来⽅便地访问和管理这些资源. 这些资源⽂件可以位于qrc⽂件所在⽬录的同级或其录下. 在构建程序的过程中, Qt 会把资源⽂件的⼆进制数据转成 cpp 代码, 编译到 exe 中. 从而使依赖的资源变得 "路径无关".

使⽤ : 作为开头, 表⽰从 qrc 中读取资源.

windowOpacity

作用 设置 widget 透明度

API

cpp 复制代码
float windowOpacity() const; 
//获取到控件的不透明数值. 返回 float, 取值为 0.0 -> 1.0 其中 0.0 表⽰全透明, 1.0 表⽰完全不透明.   
void setWindowOpacity(float n); // 设置控件的不透明数值.  

cursor

作用:⿏标悬停时显⽰的图标形状.

API

cpp 复制代码
QCursor cursor() const; // 获取到当前 widget 的 cursor 属性, 返回 QCursor 对象.  

void setCursor(const QCursor &); // 设置该 widget 光标的形状. 仅在⿏标停留在该 widget 上时⽣效.
QGuiApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
// 设置全局光标的形状. 对整个程序中的所有 widget 都会⽣效. 覆盖上⾯的 setCursor 设置的内容.  

font

作用:字体的相关属性。

API

cpp 复制代码
const QFont &font() const; // 获取当前 widget 的字体信息. 返回 QFont 对象.  

void setFont(const QFont &); // 设置当前 widget 的字体信息.  

QFont

  • family 字体家族
  • pointSize 字体大小
  • weight 字体粗细 以数值⽅式表⽰粗细程度取值范围为 [0, 99], 数值越⼤, 越粗.
  • bold 是否加粗. 设置为 true, 相当于 weight 为 75. 设置为 false 相当于 weight 为 50.
  • italic 是否倾斜
  • underline 是否带有下划线
  • strikeOut 是否带有删除线

toolTip 和 toolTipDuration

toolTip 作用 :⿏标悬停在 widget 上会在状态栏中显示的提示信息.

toolTipDuring 作用:toolTip 显示的持续时间.

API

cpp 复制代码
QString toolTip() const; // 获取当前提示的信息
void setToolTip(const QString &); // 设置 toolTip.
void setToolTipDuration(int msec);// 设置toolTip停留时间.

focusPolicy

设置控件获取到焦点的策略. 比如某个控件能否⽤⿏标选中或者能否通过 tab 键选中.

API

cpp 复制代码
Qt::FocusPolicy focusPolicy() const; // 获取该 widget 的 focusPolicy, 返回 Qt::FocusPolicy 
void setFocusPolicy(Qt::FocusPolicy policy); // 设置 widget 的 focusPolicy

Qt::FocusPolicy

枚举类型

  • Qt::NoFocus :控件不会接收键盘焦点
  • Qt::TabFocus :控件可以通过Tab键接收焦点
  • Qt::ClickFocus :控件在⿏标点击时接收焦点
  • Qt::StrongFocus :控件可以通过Tab键和⿏标点击接收焦点 (默认值)
  • Qt::WheelFocus : 类似于 Qt::StrongFocus , 同时控件也通过⿏标滚轮获取到焦点

styleSheet

作用:允许使⽤ CSS 来设置 widget 中的样式.

CSS 中可以设置的样式属性非常多. 基于这些属性 Qt 只能⽀持其中⼀部分, 称为 QSS (Qt Style Sheet) 。

API

cpp 复制代码
QString styleSheet() const; // 获取当前的QSS样式

void setStyleSheet(const QString &styleSheet);设置当前的QSS样式
相关推荐
远望清一色6 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself15 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
XiaoLeisj27 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man30 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*31 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家32 分钟前
go语言中package详解
开发语言·golang·xcode
llllinuuu32 分钟前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s33 分钟前
Golang--协程和管道
开发语言·后端·golang
王大锤439135 分钟前
golang通用后台管理系统07(后台与若依前端对接)
开发语言·前端·golang
为什么这亚子36 分钟前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算