【QT】QWidget 重要属性

发布于:2024-10-13 ⋅ 阅读:(50) ⋅ 点赞:(0)

enabled

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

对应的API

bool isEnabled(); // 获取到控件的可⽤状态.  

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

geometry

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

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

对应的API

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


QString windowTitle() const; // 获取到控件的窗⼝标题. 

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

windowIcon

作用:设置 widget 图标

API

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

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

qrc 机制

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

qrc ⽂件是⼀种XML格式的资源配置⽂件, 它⽤XML记录硬盘上的⽂件和对应的随意指定的资源名称. 应⽤程序通过资源名称来访问这些资源.
在Qt开发中, 可以通过将资源文件添加到项⽬中来⽅便地访问和管理这些资源. 这些资源⽂件可以位于qrc⽂件所在⽬录的同级或其录下. 在构建程序的过程中, Qt 会把资源⽂件的⼆进制数据转成 cpp 代码, 编译到 exe 中. 从而使依赖的资源变得 “路径无关”.

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

windowOpacity

作用 设置 widget 透明度

API


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

cursor

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

API


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

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

font

作用:字体的相关属性。

API


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


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

focusPolicy

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

API


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


QString styleSheet() const; // 获取当前的QSS样式

void setStyleSheet(const QString &styleSheet);设置当前的QSS样式

网站公告

今日签到

点亮在社区的每一天
去签到