Qt中关于QQ登录界面特殊布局的思考及实现

QQ登录界面如下所示

%title插图%num%title插图%num

以前有段时间想做个登录界面,想模仿一下QQ的登录界面,但是呢在想模仿QQ登录界面的头像模块时突然就止步了,很长一段时间都很疑惑是怎么回事的。当然有段时间看到别人做的QQ登录界面,用的是绝对定位,完全没用布局。可能在实现功能上是一种方式。但是对我来说总感觉有点怪,就一直想着用布局来实现,也在思考Qt是否有一种像div一样既有相对定位也有绝对定位。今天在做一个功能的时候终于发现了。最后实现了类似的功能,效果如下。%title插图%num%title插图%num

实现方式

    1. 上下两块区域用垂直布局
    2. 中间区域,采用new的方式新创建一个QWidget,然后再设置这个QWidget的定位
    3. 定位设置方式也有讲究: 在主窗体的构造函数中其实是不能正常获取到窗体的大小的,可用三种方式获取到正常的窗体大小。定时器、showEvent、resizeEvent(推荐采用这种方式)
    // 构造函数
    m_picWgt = new QWidget(this);
    m_picWgt->setStyleSheet("background:  rgb(170, 170, 255);border-radius: 50px;");
    m_picWgt->setGeometry(0, 0, 100, 100);
    
    // resizeEvent函数中
    m_picWgt->setGeometry(this->width() / 2  - 100 / 2, ui->widget->height() - 100 / 2, 100, 100);

%title插图%num

 

版权声明:
作者:小何
链接:https://ligo100.cn/qianduanjishu/ui/214.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录