• 2686阅读
  • 6回复

[讨论]如何可靠的让窗体居中显示 [复制链接]

上一主题 下一主题
离线littlebee
 

只看楼主 倒序阅读 楼主  发表于: 2019-03-02
使用其它编程软件对窗体居中仅仅设置一下属性即可,在QT中这个居然成了个问题,在网上找到如下居中的方法,即使用move的方式,但使用不尽人意,偏差太多,与中间还是有一定距离
窗体显示之后如下操作
w.move ((QApplication::desktop()->width() - w.width())/2,(QApplication::desktop()->height() - w.height())/2);
离线fu22507411

只看该作者 1楼 发表于: 2019-03-03
虽然不是很懂你的主要问题是啥,但是有个函数你可以参考一下。QRect有个moveCenter。
邮箱jiahao_coffee@foxmail.com 有问题可以免费咨询,有空都会回答,不过太难了我答不上来不要介意哈
离线maxlogo

只看该作者 2楼 发表于: 2019-03-03
因为你获取的这个包括了任务栏的高度
个人博客:
简书:https://www.jianshu.com/u/14fa805306bd
CSDN:https://blog.csdn.net/qq10097355
思否:https://segmentfault.com/u/lowbees/articles
在线kaon

只看该作者 3楼 发表于: 2019-03-03
#include <QStyle>
#include <QDesktopWidget>

window->setGeometry(
    QStyle::alignedRect(
        Qt::LeftToRight,
        Qt::AlignCenter,
        window->size(),
        qApp->desktop()->availableGeometry()
    )
);

试试这个
1条评分好评度+1
never_forget 好评度 +1 - 2019-03-04
离线littlebee

只看该作者 4楼 发表于: 2019-03-04
回 maxlogo 的帖子
maxlogo:因为你获取的这个包括了任务栏的高度 (2019-03-03 09:46) 

嗯 仔细看了下,好像是你说的这样的
离线littlebee

只看该作者 5楼 发表于: 2019-03-04
回 fu22507411 的帖子
fu22507411:虽然不是很懂你的主要问题是啥,但是有个函数你可以参考一下。QRect有个moveCenter。 (2019-03-03 02:33) 

好对,多谢
离线littlebee

只看该作者 6楼 发表于: 2019-03-04
回 kaon 的帖子
kaon:#include <QStyle>
#include <QDesktopWidget>
window->setGeometry(
    QStyle::alignedRect(
....... (2019-03-03 17:51) 

3Q,我研究下
快速回复
限100 字节
 
上一个 下一个