当前位置:首页 » 《休闲阅读》 » 正文

【QT】QWidget 重要属性

13 人参与  2024年10月02日 10:01  分类 : 《休闲阅读》  评论

点击全文阅读


文章目录

enabledgeometrywindowTitlewindowIconqrc 机制windowOpacitycursorfontQFont toolTip 和 toolTipDurationfocusPolicyQt::FocusPolicy styleSheet

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样式

点击全文阅读


本文链接:http://zhangshiyu.com/post/167083.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1