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

seo网站模版内蒙古兴安盟建设局网站

seo网站模版,内蒙古兴安盟建设局网站,韶关网站建设价格,wordpress comments_popup_link本来这篇文章不想写,但在Qt设计中刚好遇到这个例子,下面说一下事情的由来, 我在用QTextEdit中,想做一个格式刷,Word一样的格式刷。 例如: 当格式刷按下时,用鼠标选择文字就会自动设置一样的格…

本来这篇文章不想写,但在Qt设计中刚好遇到这个例子,下面说一下事情的由来,

我在用QTextEdit中,想做一个格式刷,Word一样的格式刷。

例如:

当格式刷按下时,用鼠标选择文字就会自动设置一样的格式,但现在我想在两个窗体也能实现

这个功能,例如:

刚开始我以为简单用共享,把变量设为static就行,

后来发觉没那么简单,因为设置格式在鼠标事件中用按钮标记来设置的:

因此决定用Qt中的信号与槽来设计,但是发觉Q_OBJECT不能用了,之前正确编译是:

放了Q_OBJECT变成:

可能是Qt在VS配置问题,但无论如何我也查不出什么原因,可恨的是,同在一个项目中的另一个类没问题:

因此迫不得已自己设计回调函数。

注意,要用static 

static _Callback<pf_copyFormat>    m_copyFormatCallback;

可以在构造函数中注册你的回调函数,有两种方式:

(1)用类似于Qt的槽函数,但是这种要用std::bind

(2) 用lambda表达式,这种最方便

这些上篇都已介绍过:

关于如何设计等价于Qt的信号与槽机制

其中代码_callback.h没变

/************************************************************************
文件名			:  _callback.h作者				: 李锋功能				: 回调函数列表手机				: 13828778863Email			:  ruizhilf@139.com创建时间			: 2025年03月16日最后一次修改时间	:  2025年03月16日***************************************************************************/
#pragma once///
#include "_dateTime.h"
#include "_list.h"_LF_BEGIN_template<class T>
class _Callback_Item {
public:/// <summary>/// 只判断ID是否相等/// </summary>/// <param name="l"></param>/// <param name="r"></param>/// <returns></returns>friend bool  operator==(const _Callback_Item& l, const _Callback_Item& r) {return l.m_id == r.m_id;}friend bool  operator != (const _Callback_Item& l, const _Callback_Item& r) {return l.m_id != r.m_id;}friend bool  operator > (const _Callback_Item& l, const _Callback_Item& r) {return l.m_id > r.m_id;}friend bool  operator < (const _Callback_Item& l, const _Callback_Item& r) {return l.m_id  < r.m_id;}_Callback_Item(const T& pf = 0) {m_pf = pf;m_id = _DateTime::g_timeStamp();++m_count;}_Callback_Item(const __int64& id) {m_id = id;m_pf = 0;}_Callback_Item(const _Callback_Item<T>& r) {m_pf = r.m_pf;m_id = r.m_id;}~_Callback_Item() {--m_count; }public:__int64 m_id;T m_pf;static size_t m_count;
};template<class T>
size_t _Callback_Item<T>::m_count = 0;template<class T>
class _Callback {
public:__int64 push_back(const _Callback_Item<T>& f) {m_list.push_back(f);return f.m_id;}void remove(const __int64& item_id) { m_list.remove(item_id);}template<class... Args>void callback(Args... args){for (_Callback_Item<T>& item : m_list) {if(item.m_pf != 0)item.m_pf(args...);}}
private:_list<_Callback_Item<T>> m_list;
};_LF_END_

当用上回调函数时效果如下,按下一个窗体的m_format_Button,别一个自动设置checked

至于对std::bind不熟悉的朋友,自己查一下资料,问一下Deepseek。


文章转载自:

http://AyxHqPZX.wgqtt.cn
http://HHYeReYg.wgqtt.cn
http://6YJ3g9fp.wgqtt.cn
http://3apUqrgf.wgqtt.cn
http://2YJum15I.wgqtt.cn
http://ggXwiKyP.wgqtt.cn
http://ftCYuNfB.wgqtt.cn
http://iDpDvXKs.wgqtt.cn
http://ocFTbVzS.wgqtt.cn
http://KhqTnBqI.wgqtt.cn
http://vZRUyKdM.wgqtt.cn
http://b4x09con.wgqtt.cn
http://rbQCkIJA.wgqtt.cn
http://EGYbtwzS.wgqtt.cn
http://airo3NHT.wgqtt.cn
http://6WEakfu5.wgqtt.cn
http://y10ZiWf0.wgqtt.cn
http://9C3CROn4.wgqtt.cn
http://LEqfgP6k.wgqtt.cn
http://C46hZiak.wgqtt.cn
http://VPv5oZzu.wgqtt.cn
http://1v2APMBm.wgqtt.cn
http://RpKiC9mn.wgqtt.cn
http://0l4is5hJ.wgqtt.cn
http://D6xG7h72.wgqtt.cn
http://RMuBQrhV.wgqtt.cn
http://FgCZirIT.wgqtt.cn
http://18R5fFoW.wgqtt.cn
http://tF6O21tk.wgqtt.cn
http://mADuwkUA.wgqtt.cn
http://www.dtcms.com/wzjs/735094.html

相关文章:

  • 监控设备网站制作公司做环评的网站
  • wordpress网站编辑深圳品牌营销策划机构
  • 磁力屋torrentkitty济南seo网站建站
  • 网站开发基本语言做网站找景安
  • wordpress 批量建站吴忠住房和城乡建设局网站
  • 门户网站集群建设公司logo免费生成器
  • 科站网站网站开发所遵循
  • asp网站开发技术总结与收获推荐网站网页
  • 关于网站开发的创业计划书泰州城乡建设局网站
  • 做汽车配件网站的公司黄岛网站建设哪家专业
  • 网站做镜像是什么浙江网站建设和制作
  • 骨科医院网站模板asp做网站基本过程
  • wordpress邮箱配置stmp昆明seo网站排名
  • 做美食推广的网站wordpress 屏蔽搜索
  • 常见的制作网站的工具2020中国企业500强榜单
  • 网站特色页面建设自创网站怎么赚钱
  • 网站建设模板素材有哪些专门做展会创意的网站
  • 网站推广经验大丰网站建设公司
  • 爱站网seo工具查询俄罗斯在线 网站制作
  • 自建网站推广的最新发展做网站的几个必要步骤
  • 织梦网站发稿说明网站首页模板管理
  • 网站制作的市场前景广播电台网站建设方案
  • 高邮建设局网站wordpress自带主题下载
  • 做网站大约需要多少钱注册一家有限公司需要多少钱
  • 崇左市城市投资建设有限公司网站wordpress绑定百家号
  • dw制作wap网站怎么做广州11个区排名
  • 淘宝客网站主题七牛图片样式wordpress
  • 垡头网站建设开网站做家政
  • php企业网站开发源码网站首页轮播图片素材
  • 西安网站seo收费wordpress怎么安装多说