欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 【QT】QWidget 重要属性

【QT】QWidget 重要属性

2024/10/26 7:35:23 来源:https://blog.csdn.net/bushibrnxiaohaij/article/details/142578616  浏览:    关键词:【QT】QWidget 重要属性

文章目录

  • enabled
  • geometry
  • windowTitle
  • windowIcon
  • qrc 机制
  • windowOpacity
  • cursor
  • font
    • QFont
  • toolTip 和 toolTipDuration
  • focusPolicy
    • Qt::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样式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com