【QT】常用控件属性

QT中各种控件都继承自 widget,所以 widget 里有的方法,其他控件大多都能用。

设置控件可用状态

isEnabled() 获取控件可用状态。
setEnabled() 设置控件可用状态。

首先使用图形化界面创建两个按钮控件,并设置槽函数:
在这里插入图片描述

通过 setEnabled() 就可以使控件变成 可用/不可用:
在这里插入图片描述

设置控件位置

geometry() 获取到控件的位置和尺寸,返回结果是一个 QRect(矩形),包含x,y,width,height。其中x,y是左上角的坐标。
setGeometry() 设置控件的位置和尺寸,可以直接设置一个 QRect,也可以分四个属性单独设置:
setGeometry(QRect) 和 setGeometry(int x , int y , int width , int height)

控件在界面中的位置关系:
在这里插入图片描述
使用方法如下:
在这里插入图片描述

设置窗口标题

setWindowTitle() 设置窗口标题。
windowTitle() 获取窗口标题。

在这里插入图片描述

设置图标

setWindowIcon(const QIcon& icon) 设置窗口图标
windowIcon() 获取到控件的窗口图标,返回QIcon对象。

在这里插入图片描述

上面使用的路径是绝对路径,若更换图片位置或将代码发送给别人,别人有意无意将图片删除,路径就会出错,图标就不会显示,所以下面使用另外一种方式:

使用 qrc 的方式,在QT中,qrc文件用于将资源文件嵌入到应用程序中,在编译时打包进可执行文件,这时就不会存在用户删除图片导致访问不到的情况。使用步骤:

  1. 在项目中创建一个 qrc 文件,文件名不要带中文和特殊符号。
    在这里插入图片描述
    在这里插入图片描述
    下一步完成即可。
    2.将图片导入到 qrc 文件中。
    1)先创建一个 前缀(prefix),这里的“前缀”可以理解成虚拟的目录。这个目录并没有在电脑上存在,是 Qt 自己抽象出来的,为了方便在Qt代码中访问到这个图片,Qt就抽象出了虚拟目录。点击 Add Prefix ---->将前缀改为 /, 如下图:
    在这里插入图片描述
    2)将图片导入到资源文件中
    在这里插入图片描述
    注意:添加的图片必须和 resource.qrc 在同一文件夹下,或者图片所在的文件夹和 resource.qrc 在同一文件夹下。 如下两种:
    在这里插入图片描述
    在 resource.qrc 中看见图片就算导入成功:
    在这里插入图片描述
    前缀加上图片路径:
    在这里插入图片描述

设置透明度

windowOpacity() 获取到控件的不透明数值,返回float,取值为 0.0~1.0,其中0.0表示全透明,1.0表示完全不透明。
setWindowOpacity(float n) 设置控件的不透明数值.

在这里插入图片描述

修改鼠标光标样式

cursor() 获取到当widget的cursor属性,返回QCursor对象,当鼠标悬停在该widget上时,就会显示出对应的形状。
setCursor(const QCursor& cursor) 设置该widget光标的形状,仅在鼠标停留在该widget上时生效。
QGuiApplication::setOverrideCursor(const QCursor& cursor) 设置全局光标的形状。对整个程序中的所有widget都会生效。覆盖上面的setCursor设置的内容。
同一个界面中,不同的控件可以设置成不同的光标。

可以通过图形化界面来设置光标:
在这里插入图片描述

也可以使用代码:

在这里插入图片描述

使用自定义图片设置光标

准备一张图片,使用qrc管理(具体步骤可到上面设置图标那节查看)。
在这里插入图片描述

设置字体样式

font() 获取当前widget的字体信息,返回QFont对象。
setFont(const QFont& font) 设置当前widget的字体信息。
family 字体家族,比如楷体、宋体、微软雅黑等。
pointSize 字体大小,单位px。
weight 字体粗细,以数值方式表示粗细程度,取值范围为[0,99],数值越大越粗。
italic 是否倾斜。
underline 是否带有下划线。
strikeOut 是否带有删除线。

使用图形化界面对字体进行调整:
在这里插入图片描述

使用代码:

在这里插入图片描述

提示用户控件作用

setToolTip() 设置toolTip。鼠标悬停在该widget上时会有提示说明。
setToolTipDuration() 设置toolTip提示的时间,单位ms。时间到后toolTip自动消失。

当我们把鼠标悬停在控件上,就会显示该控件的作用:
在这里插入图片描述
在这里插入图片描述

设置控件获取到焦点的策略

当窗口上有很多控件时,我们点击某一控件,此时这个控件就获取到了焦点。例如,当我们再浏览器中,点击输入框,此时输入框就获取到了焦点,按下键盘就可以将内容输入到输入框中。但使用鼠标点击其他区域时,再按下键盘,输入框里也不会有内容了。

focusPolicy() 获取该widget的focusPolicy,返回Qt::FocusPolicy
setFocusPolicy(Qt::FocusPolicy policy) 设置widget的focusPolicy
Qt::FocusPolicy 是一个枚举类型。取值如下:
Qt::NoFocus:控件不会接收键盘焦点
Qt::TabFocus:控件可以通过Tab键焦点
Qt::clickFocus:控件在鼠标点击时接收焦点
Qt::StrongFocus:控件可以通过Tab键和鼠标点击接收焦点(默认值)
Qt::WheelFocus:类似于Qt::StrongFocus,同时控件也通过鼠标滚轮获取到焦点(一般很少使用)

在窗口创建了四个 lineEdit,没有进行任何设置,此时可以通过鼠标左键和 tab键,让这四个控件获取焦点,每按一次 tab键,当前控件的下一个控件就获取焦点,点击 shift+tab,上一个控件就获取焦点。
在这里插入图片描述
通过如下设置,第二个输入框就无法获取焦点,无论是用鼠标还是tab键,使用tab键会直接跳过:
在这里插入图片描述

设置控件样式

我们可以右键点击改变样式表为控件修改样式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值