QT 检测窗口大小变动 (c++)

实现:

.h头文件中增加如下代码:

复制代码
public:
    void resizeEvent(QResizeEvent* event) override;

.cpp文件中增加如下代码:

复制代码
void YourProject::resizeEvent(QResizeEvent* event)
{
    //调用父类的resizeEvent函数
    QMainWindow::resizeEvent(event);

    //1、获取窗口改变后的大小
    QSize newSize = event->size();
    //实现对应的处理...

    //2、获取窗口变动后组件的大小(如果组件随着窗口一同变化)
    QSize labelSize = ui->label_1->size();
    //实现对应的处理...
    //例如改变一个大小不会变化的组件:
    ui->label_2->setFixedSize(labelSize);

    //3、获取窗口变动后组件的坐标位置
    int x = ui->label_1->pos().x();
    int y = ui->label_1->pos().y();
    int w = ui->label_1->width();
    int h = ui->label_1->height();
    //实现对应的处理..
    //例如改变一个组件的位置和大小
    ui->label_2->move(x+w*0.8,y+h*0.8);    //将label_2放在了label_1的右下角
    ui->label_2->resize(w*0.2,h*0.2);        //将label_2设置为了label_1的五分之一大小
    
}

以上代码为笔者在csdn网页上手打的,如有问题麻烦纠正,谢谢!

相关推荐
不想写代码的星星15 小时前
从分支预测角度看 C++:为什么你的热循环慢得离谱?
c++
bug和崩溃我都要15 小时前
Qt 封装 libmpv 全功能视频播放器开发指南
开发语言·qt·音视频
郝学胜-神的一滴15 小时前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
郝亚军15 小时前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法
小新11015 小时前
qt creator 将qInfo的输出日志写入日志文档,方便查看
开发语言·qt
hssfscv16 小时前
QT的学习记录1
开发语言·qt·学习
Yyyyyy~16 小时前
【C++】数组篇
开发语言·c++
qq_3331209717 小时前
C++高并发内存池的整体设计和实现思路_C 语言
java·c语言·c++
牛肉在哪里17 小时前
ros2 从零开始27 编写广播C++
开发语言·c++·机器人
Curvatureflight17 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue