关于 QMessageBox定制大小重写showEvent失败的 解决方法

简介: 关于 QMessageBox定制大小重写showEvent失败的 解决方法

需求

       对QMessageBox进行尺寸定制。


截图,定制前

图片.png

截图,定制后

图片.png

   

原因

       原因:QMessageBox::showEvent() 强制将其大小改变成了QT认为比较合适的大小。

       要改变它的大小可使用下面这种方法:

class MyMessageBox : public QMessageBox
{  ...
protected:
   void showEvent(QShowEvent* event)
  {
     QMessageBox::showEvent(event);
     setFixedSize(640, 480);
   }
};

       实际检验无效,重载resizeEvent才有效果,重载的代码如下:

mymessagebox.h

#ifndef MYMESSAGEBOX_H
#define MYMESSAGEBOX_H
#include <QWidget>
#include <QMessageBox>
#include <QResizeEvent>
class MyMessageBox : public QMessageBox
{
    Q_OBJECT
public:
    explicit MyMessageBox(QWidget *parent = 0);
    void setMySize(int width, int height);
signals:
public slots:
protected:
    void resizeEvent(QResizeEvent *event);
private:
    int _width;
    int _height;
};
#endif // MYMESSAGEBOX_H

mymessagebox.cpp

#include "mymessagebox.h"
MyMessageBox::MyMessageBox(QWidget *parent) :
    QMessageBox(parent),
    _width(0),
    _height(0)
{
}
void MyMessageBox::setMySize(int width, int height)
{
    _width = width;
    _height = height;
}
void MyMessageBox::resizeEvent(QResizeEvent *event)
{
    setFixedSize(_width, _height);
}


相关文章
|
网络协议 Windows
网络连接正常但百度网页打不开显示无法访问此网站解决方案
网络连接正常但百度网页打不开显示无法访问此网站解决方案
3298 0
网络连接正常但百度网页打不开显示无法访问此网站解决方案
|
缓存 NoSQL 安全
Linux设备驱动程序(四)——调试技术3
Linux设备驱动程序(四)——调试技术3
409 0
|
Web App开发 数据采集 Java
在 Java 中使用 WebRTC 传输视频——在 Java 中采集音视频
在前面的文章中,我已经介绍了如何使用 WebRTC 的 Native API,通过它们大家应该已经了解了正常 API 的一些使用方法和套路。从本文开始,我将介绍一下我这边对 Native API 默认实现的覆写过程,本文我们将先来介绍一些如何把 Java 中的音视频传输给 WebRTC Lib。
|
2月前
|
缓存 前端开发 NoSQL
《CRM性能突围:从4秒卡顿到毫秒级响 应的全链路实战拆解》
本文记录了企业级CRM系统从4秒卡顿到毫秒级响应的全链路性能优化实战。系统因业务扩张(200人销售团队、300万条客户数据)出现查询超时、数据库高负载等问题,团队跳出“通用方案”陷阱,分阶段突破:数据层通过精准索引、“年+季度”分表、预计算宽表优化,将SQL耗时从3.5秒压至200毫秒;缓存层搭建“本地缓存(Caffeine)+分布式缓存(Redis)”架构,结合热点隔离与Binlog监听保证一致性,缓存命中率提升至91%;应用层通过异步解耦(消息队列)、资源隔离(微服务拆分)、前端配合优化,解决阻塞与资源争抢。最终通过全链路监控与定期迭代,构建长效优化机制。
240 9
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
运维 监控 jenkins
自动化运维实践:构建高效的CI/CD流程
【8月更文挑战第31天】在软件开发的海洋中,持续集成和持续交付(CI/CD)是推动现代开发实践的强大潮流。本文将带你潜入这股潮流之下,探索如何构建一个高效且灵活的自动化运维流程,以提升软件交付的速度与质量。我们将从基础工具的选择到流程设计,再到实际操作的技巧,逐步展开讨论,并结合代码示例,使理论与实践紧密结合。
|
搜索推荐 前端开发 C#
推荐7款美观且功能强大的WPF UI库
推荐7款美观且功能强大的WPF UI库
1265 2
|
自然语言处理
字符编码问题之UTF-16不直接采用4字节定长编码来支持所有字符如何解决
字符编码问题之UTF-16不直接采用4字节定长编码来支持所有字符如何解决
163 0
|
C# Windows IDE
WPF入门实战:零基础快速搭建第一个应用程序,让你的开发之旅更上一层楼!
【8月更文挑战第31天】在软件开发领域,WPF(Windows Presentation Foundation)是一种流行的图形界面技术,用于创建桌面应用程序。本文详细介绍如何快速搭建首个WPF应用,包括安装.NET Framework和Visual Studio、理解基础概念、创建新项目、设计界面、添加逻辑及运行调试等关键步骤,帮助初学者顺利入门并完成简单应用的开发。
719 0
|
开发框架 Linux C#
C#编程的跨平台应用
【4月更文挑战第21天】C#与.NET Core的结合使得跨平台应用开发变得高效便捷,提供统一编程模型和高性能。丰富的类库、活跃的社区支持及Visual Studio Code、Xamarin等工具强化了其优势。广泛应用在企业系统、云服务和游戏开发中,虽面临挑战,但随着技术进步,C#在跨平台开发领域的前景广阔。
549 2