当前位置: 首页 > news >正文

郑州做网站公司有多少镜像网站做排名

郑州做网站公司有多少,镜像网站做排名,休闲旅游产品营销网站的建设策略,知识付费小程序搭建使用Qt 的时候发现: 背景:自己定义一个类,把它和某个ui文件绑定。(类似 Qt creator 默认创建的工程)问题:当鼠标在窗口内单击的时候会触发2次绘图。?难道不应该是一次吗? 于是开始了如下的测试…

使用Qt 的时候发现:

  • 背景:自己定义一个类,把它和某个ui文件绑定。(类似 Qt creator 默认创建的工程)
  • 问题:当鼠标在窗口内单击的时候会触发2次绘图。?难道不应该是一次吗?

于是开始了如下的测试:

  • 创建 qt creator 默认带有ui的工程。
  • 重写 paintevent 虚函数,利用静态变量实现计数

在这里插入图片描述
简述主要实验结果:

  • 如果不使用 ui 文件,那都是刷新一次,正常。
  • 如果使用 ui 文件,仅仅组合:(主窗口QWidget + Ui类QWidget 是正常的刷新一次,其他的都是两次)。

请问有高手知道这是怎么回事吗?

代码

我的代码有5个文件

  • cmapedit.h
  • cmapedit.cpp
  • main.cpp 没有任何修改
  • MapEditUi_MainWindow.ui 没有任何修改
  • MapEditUi_Widget.ui 没有任何修改

cmapedit.h

/*** @brief     自定义主窗口类* @details   仅修改  paintEvent,通过宏定义实现动态编译* @mainpage* @date 2023-10-24*/#ifndef CMAPEDIT_H
#define CMAPEDIT_H#include <QWidget>
#include <QMainWindow>
#include "ui_MapEditUi_MainWindow.h"
#include "ui_MapEditUi_Widget.h"#define inherit_QMainWindow             // 宏定义:继承自 QMainWindow 还是 QWidget
#define USE_QMainWindow                 // 宏定义:ui类是 QMainWindow 还是 QWidget#ifdef inherit_QMainWindowclass CMapEdit : public QMainWindow
#elseclass CMapEdit : public QWidget
#endif
{Q_OBJECTpublic:CMapEdit(QWidget *parent = nullptr);~CMapEdit();void paintEvent(QPaintEvent *);public:static int m_iCount;#ifdef USE_QMainWindowUi::MapEditUi_MainWindow   *ui = nullptr;#elseUi::MapEditUi_Widget       *ui = nullptr;#endif
};
#endif // CMAPEDIT_H

cmapedit.cpp

#include "cmapedit.h"
#include <QDebug>int CMapEdit::m_iCount = 1;#ifdef inherit_QMainWindowCMapEdit::CMapEdit(QWidget *parent): QMainWindow(parent)
#elseCMapEdit::CMapEdit(QWidget *parent): QWidget(parent)
# endif
{#ifdef   USE_QMainWindowui = new Ui::MapEditUi_MainWindow;#elseui = new Ui::MapEditUi_Widget;# endifui->setupUi(this);
}CMapEdit::~CMapEdit(){}void CMapEdit::paintEvent(QPaintEvent * event)
{qDebug()<< "paint" << m_iCount++;
}

测试1:

重载mousePressEvent和mouseReleaseEvent 事件,观察这两个事件和paintEvent的先后顺序。
测试结果:

  • 在界面上不断单击,不会触发绘图。
    在这里插入图片描述
  • 先单击桌面,再单击窗口内部:事件顺序:
    - Pressevent
    - 绘图1
    - 绘图2 (任然是触发2次)
    - Releaseevent
    在这里插入图片描述

最终总结

在经过多次实验后发现:如果你的鼠标在应用和桌面来回点击切换(不是在只应用中点),则:

  • 其实和主类别所继承的类型、ui的类型以及是否使用手写都无关
  • 在Qt creator 的默认项目,如果页面上没有任何东西,则主页面的调用次数为1
  • 如果页面上有任何控件,无论控件数量的多少,都为2
http://www.yayakq.cn/news/149954/

相关文章:

  • 网站原型设计和版式设计wordpress预览
  • 适合小型网络公司的建站方式可以为南海做网站公司
  • 什么网站可以做饼图微信开放平台官网登录
  • 涿州市建设局网站前端刚上班感觉工作做不了
  • 网站程序风格新能源汽车价格补贴
  • 怎么做网站建设的ppt建设网站外国人可搜到
  • 个人网站备案要多久wordpress主题在那个文件夹
  • 国外app设计网站最便宜的免费建站
  • 极品wordpress素材教程网站昆明抖音推广
  • php网站开发工程师招聘要求qq网站临时会话
  • 厦门电子商务网站建把开发的网站让外网能访问要怎么做
  • 做面包的公司网站免费网页设计网址
  • 用vs2010做网站论文快速做网站的软件
  • 重庆制作网站软件做网站的图片一般放哪
  • 做移动端电影网站企业qq邮箱登录入口
  • 外贸网站推广和建站室内设计师工作内容
  • 视频网站的做wordpress社交类主题
  • 海外网站空间四川工程造价信息网
  • 常州微信网站建设平台怎样在阿里云做网站
  • 如何修改一个网站的后台登陆系统网站备案查询工信部官网
  • 无锡网站制作排名网站备案阿里云流程
  • 上海网站建设 虹口php 快速网站开发
  • 苏州网站建设培训学校编译安装wordpress
  • 只有图文的网站如何做学python去哪个培训机构好
  • 百度做网站电话多少钱有没有做装修中介的网站
  • 邯郸市中医院天津做网站优化价格
  • 北京房产网站大全爱最好网站建设
  • 网站备案部门软件开发经费预算
  • 高端网站建设页面网站建设难点分析
  • 河南网站备案地址视觉传达设计是学什么的