【Qt】QWidget的geometry属性

geometry,意思是“几何”。可以将geometry视为是四个属性的统称。

x:横坐标

y:纵坐标

width:宽度

height:高度

API 说明

geometry()

获取到控件的位置和尺⼨. 返回结果是⼀个 QRect, 包含了 x, y, width, height. 其中 x, y 是左上⻆的坐标

setGeometry(QRect)

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

设置控件的位置和尺⼨. 可以直接设置⼀个 QRect, 也可以分四个属性单独设置

Rect就是“矩形”。

在Qt中针对一些几何上的概念也进行了封装。例如QPoint表示一个点,QRect表示一个矩形,这些都是属于小对象,里面的属性非常少,占用空间也小。这种小对象在C++中进行使用的时候,通常会按照值的方式来传递参数。

move只是修改位置,二setGeometry既可以修改位置,又可以修改尺寸。

例子一:使用上下左右按钮移动位置 

下面进行实际演示:

首先要注意的是,修改这些属性的时候,一定要先确认好你当前选中的是哪个控件。

设置四个按钮,分别更改名称up,left,right,down,并修改其objectName,期望通过点击这几个按钮,就能够修改target按钮的geometry。

#include "widget.h"
#include "ui_widget.h"

#include<QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_target_clicked()
{
    QRect rect = ui->pushButton_target->geometry();
    qDebug() << rect;
}

void Widget::on_pushButton_up_clicked()
{
    //获取target自身的geometry
    QRect rect = ui->pushButton_target->geometry();
    rect.setY(rect.y() - 1);
    ui->pushButton_target->setGeometry(rect);
}

void Widget::on_pushButton_down_clicked()
{
    QRect rect = ui->pushButton_target->geometry();
    rect.setY(rect.y() + 1);
    ui->pushButton_target->setGeometry(
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值