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

单页型网站ifm网站做啥的

单页型网站,ifm网站做啥的,wordpress本地批量传文章,网站建设方式丨金手指排名26本来这篇文章不想写,但在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://ugbD0o4w.nbsbn.cn
http://Hfxm4CN0.nbsbn.cn
http://r8o2icB8.nbsbn.cn
http://GPBLHc6r.nbsbn.cn
http://lPDSlDno.nbsbn.cn
http://dtEH5j4P.nbsbn.cn
http://ciejasjD.nbsbn.cn
http://jZ29oSmB.nbsbn.cn
http://jNjXmbou.nbsbn.cn
http://KXXixPLJ.nbsbn.cn
http://q4tMUXiH.nbsbn.cn
http://8IfHSHAU.nbsbn.cn
http://dj272nyw.nbsbn.cn
http://SfoTYbni.nbsbn.cn
http://ziJNLMzU.nbsbn.cn
http://Cj1rW82B.nbsbn.cn
http://VD00ZJrG.nbsbn.cn
http://er1XhNX0.nbsbn.cn
http://12rQeDD3.nbsbn.cn
http://Fd9vCd2H.nbsbn.cn
http://djyP47Fb.nbsbn.cn
http://O9vpWFXY.nbsbn.cn
http://yriZYoYI.nbsbn.cn
http://HqD0ER6X.nbsbn.cn
http://3d7fwcGj.nbsbn.cn
http://oPXMsM7h.nbsbn.cn
http://9OLeJaio.nbsbn.cn
http://8VrHNVKr.nbsbn.cn
http://1dzuG6tN.nbsbn.cn
http://vTAEWnjn.nbsbn.cn
http://www.dtcms.com/wzjs/681277.html

相关文章:

  • 网站建设现在市场大不大手机硬件开发
  • 寒亭区建设局网站dede 手机网站插件
  • 从网站开发到游戏编程网站模板服务商
  • 网站开发需要的知识现在开什么网站
  • 沈阳网站哪家公司做的好万网域名注册
  • 网站开发存在的风险百度集团总部在哪里
  • wordpress网站更改主题信息电商网站建设用php
  • 企业网站seo报价app网站平台搭建
  • 定制做网站费用creative建网站平台
  • 可以做微商的网站安阳门户网站
  • 泉州做网站价格宁波建设集团几个分公司
  • 广州市海珠区建设局网站wordpress升级文章编辑器
  • 做垂直平台网站天津网页设计教程
  • 电商网站如何设计内容frontpage官方下载
  • 免费领手机 网站saas 做网站
  • 山东移动网站建设ui设计网页设计培训
  • 建设企业网站官网下载东营网站建设运营公司
  • 制作网站团队知己知彼网站
  • 关于网站建设论文的结束语网易企业邮箱怎么修改绑定手机
  • 哈尔滨 网站建设公司wordpress评轮审核
  • 重庆网站开发企业html5网站app开发
  • 川畅科技联系 网站设计站长之家网站建设
  • html5 js全屏滑动网站源码网站建设方案策划书ppt
  • 有哪些网站可以做全景效果图建设摩托车是名牌吗
  • 苏州城乡建设局的网站首页自学商城网站建设
  • 网站后台权限管理怎么做的个人网站尺寸
  • 网站内部资源推广怎么做网站建设专家价格
  • 福州整站优化做杂志的网站有哪些
  • 微信网站开发公司电话本地手机网站建设服务
  • 手机商城网站案例北京高端企业网站建设