Qt常见控件--QWidget

基本概述

Qt中的各种控件都是继承自QWidget类

QWidget中有很多属性,但是我们没有必要全部掌握,只需要掌握一些常用的就行(所有的属性都能在QtAssiant中找到)

enabled属性

API说明
isEnabled()获取到控件的可用状态
setEnabled()设置控件是否可用,true表示可用,false表示禁用

  • 所谓“禁用” 指的是该控件不能接受任何用户的输入事件,并且外观上往往是灰色
  • 如果一个 widget被禁用,则该Widget的子元素也被禁用

代码示例

这里会打印"handle",但是却没有

geometry属性

API(部分)说明
geometry()获取到控件的位置和尺寸,返回结果是一个 QRect,包含了x,y,width,height,其中x,y是左上角的坐标

setGeometry(QRect)

setGeometry(int x,int y,int width,int height)

设置控件的位置和尺寸,可以直接设置一个 QRect,也可以分四个属性设置

代码示例:

现在我将通过4个按钮来控制一个按钮的位置

void Widget::on_pushButton_up_clicked()
{
    QRect rect = ui->pushButton_2->geometry ();
    ui->pushButton_2->setGeometry (rect.x(),rect.y()-5,rect.width (),rect.height ());
}

void Widget::on_pushButton_down_clicked()
{
    QRect rect = ui->pushButton_2->geometry ();
    ui->pushButton_2->setGeometry (rect.x(),rect.y()+5,rect.width (),rect.height ());
}


void Widget::on_pushButton_left_clicked()
{
    QRect rect = ui->pushButton_2->geometry ();
    ui->pushButton_2->setGeometry (rect.x()-5,rect.y(),rect.width (),rect.height ());
}

void Widget::on_pushButton_right_clicked()
{
    QRect rect = ui->pushButton_2->geometry ();
    ui->pushButton_2->setGeometry (rect.x()+5,rect.y(),rect.width (),rect.height ());
}

WindowTitle属性

API说明
windowTitle获取到控件的窗口标题
setWindowTitle(const QString& title设置控件的窗口标题

注意!上述设置操作只有在顶层widget才有效

这个过于简单,没必要演示

windowIcon属性

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

什么是窗口图标?简单来说就是项目运行时,最左上角的图标就是窗口图标,或者是任务栏的图片

(PS:这两个API都只能用在顶层Widget)

windowOpacity属性

API说明
windowOpcity()获取到控件的不透明数值,返回float,取值为0.0->1.0其中0.0表示全透明,1.0表示完全不透明

setWindowOpcity(

float n)

设置控件的不透明数值

代码示例

cursor属性

API说明
cursor()

获取到当前 widgetcursor 属性,返回 Qcursor 对象。

当鼠标悬停在该 Widget 上时,就会显示出对应的形状

setCursor(const QCursor& cursor)设置该 Widget 光标的形状,仅在鼠标停留在该 Widget 上时生效。

QGuiApplication::setOverrideCursor(const

QCursor& cursor)

设置全局光标的形状,对整个程序中所有 Widget 都会生效,覆盖

上面的 setCursor 设置的内容

代码示例:在Qt 中设置按钮的光标

(1)在界面中创建一个按钮

方法一:

直接在widget.ui里面设置

方式二:

在代码中设置

这个效果不好截图,直接敲代码就行

自定义光标

Qt允许通过自定义的图片来设置光标

font属性

API说明
font()获取当前widget的字体信息,返回 QFont 对象
setFont(const QFont& font)设置当前widget的字体信息

关于QFont

属性说明
family字体家族,比如“楷体”,“宋体”,“微软雅黑”等。
pointSize字体大小
weight字体粗细,以数组方式表现粗细程度([0,99]),数值越大,越粗
bold

是否加粗,如果是true相当于 weight 的75,反之则为50。

italic是否倾斜
underline 是否带有下划线
strikeOut    是否带有删除

过于简单,没有必要演示

toolTip属性

API说明
setToolTip()

设置 toolTip.

鼠标悬停在该 widget 上时会有提示说明.

setToolTipDuring()

设置 toolTip 提示的时间.单位ms.

时间到后 toolTip 自动消失

toolTip只是给用户看的.在代码中一般不需要获取到 toolTip.

focusPolicy属性

设置控件获取到焦点的策略,比如某个控件能否用鼠标选中或者通过 tab 选中

API说明
focusPolicy()获取该widget的focusPolicy,返回Qt::FocusPolicy
setFocusPolicy(Qt::FocusPolicy policy)设置widget的focusPolicy.

这里就可以直接修改

styleSheet属性

通过 CSS 设置 Widget 的样式

CSS  类似,通过键值对的格式,键和值之间使用 :分割 键值对和键值对之间时候 ;分隔

也可以通过 setStyleSheet() 设置,里面使用一个字符语句就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值