关于 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);
}


相关文章
|
Unix 编译器 Linux
CMake Install:深度解析与实践(一)
CMake Install:深度解析与实践
957 0
|
网络协议 Windows
网络连接正常但百度网页打不开显示无法访问此网站解决方案
网络连接正常但百度网页打不开显示无法访问此网站解决方案
2813 0
网络连接正常但百度网页打不开显示无法访问此网站解决方案
|
1月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
10月前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
11月前
|
云安全 存储 安全
带你读《阿里云安全白皮书》(十五)——云上安全重要支柱(9)
阿里云提供全面的数据安全保护措施,包括数据操作审计、全链路加解密、细粒度访问控制、可信计算和数据本地化存储等,确保客户数据的安全与合规。《阿里云安全白皮书(2024版)》详细介绍了这些技术能力,可点击链接下载完整版内容。
|
11月前
|
机器学习/深度学习 人工智能 安全
探索人工智能在网络安全中的创新应用
探索人工智能在网络安全中的创新应用
642 0
|
搜索推荐 前端开发 C#
推荐7款美观且功能强大的WPF UI库
推荐7款美观且功能强大的WPF UI库
1072 2
|
C# Windows IDE
WPF入门实战:零基础快速搭建第一个应用程序,让你的开发之旅更上一层楼!
【8月更文挑战第31天】在软件开发领域,WPF(Windows Presentation Foundation)是一种流行的图形界面技术,用于创建桌面应用程序。本文详细介绍如何快速搭建首个WPF应用,包括安装.NET Framework和Visual Studio、理解基础概念、创建新项目、设计界面、添加逻辑及运行调试等关键步骤,帮助初学者顺利入门并完成简单应用的开发。
609 0
|
开发框架 Linux C#
C#编程的跨平台应用
【4月更文挑战第21天】C#与.NET Core的结合使得跨平台应用开发变得高效便捷,提供统一编程模型和高性能。丰富的类库、活跃的社区支持及Visual Studio Code、Xamarin等工具强化了其优势。广泛应用在企业系统、云服务和游戏开发中,虽面临挑战,但随着技术进步,C#在跨平台开发领域的前景广阔。
476 2
|
XML 算法 C语言
【C/C++ 静态代码检查工具 Cppcheck 】Cppcheck 检测器列表和检查规则大全一览
【C/C++ 静态代码检查工具 Cppcheck 】Cppcheck 检测器列表和检查规则大全一览
1758 0