q2110809471 2023-04-22 10:51 采纳率: 38.5%
浏览 9
已结题

为什么状态栏statusBar不会跟窗口大小变化


     statusBar = new QStatusBar(this); 
    QGridLayout* layout = new QGridLayout(this);

    statusBar->setGeometry(QRect(0,599 ,760,20));
    layout->addWidget(statusBar);
大佬们,为什么状态栏statusBar还是不会跟窗口大小变化啊
  • 写回答

1条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-22 10:52
    关注

    基于Monster 组和GPT的调写:

    要重写父窗口的resizeEvent()函数,并在该函数中更新状态栏的大小和位置。

    
    // 在父窗口的构造函数中创建状态栏并添加到布局中
    statusBar = new QStatusBar(this);
    layout->addWidget(statusBar);
    
    // 重写父窗口的resizeEvent()函数
    void MyMainWindow::resizeEvent(QResizeEvent *event)
    {
        // 调用父类的resizeEvent()函数,以便正确处理其他内容
        QMainWindow::resizeEvent(event);
    
        // 获取当前窗口大小并更新状态栏的位置和大小
        QSize size = event->size();
        statusBar->setGeometry(QRect(0, size.height() - 20, size.width(), 20));
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月22日

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'