QT获取窗口坐标

QT获取窗口坐标

1.通过桌面计算坐标

    QRect screenGeometry = QApplication::desktop()->screenGeometry();
    int x = (screenGeometry.width() - width()) / 2;
    int y = (screenGeometry.height() - height()) / 2;

screenGeometry是获取桌面的像素。可以看一下显示器的分辨率,然后通过这个减去当前窗口的长和宽再除2就是窗口左上角的坐标。

2.通过窗口计算坐标

    qDebug()<<frameGeometry().topLeft();

frameGeometry() 返回窗口的框架几何形状,包括窗口标题栏和边框。topLeft() 返回这个框架矩形的左上角坐标,这个坐标是相对于父窗口或者屏幕而言的,如果没有父窗口且窗口处于屏幕坐标系中,它也是相对于屏幕左上角而言。

3.区别

在下面这些情况下可能会稍有不同,所以使用的时候只用上面二选一避免产生误差。

窗口边框和标题栏影响
多显示器环境
窗口缩放和布局变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值