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

网站微信建设运营经验分享游戏加盟招商

网站微信建设运营经验分享,游戏加盟招商,社区主题wordpress,家教辅导培训网站建设近些天用qt 作项目,遇到参数界面.偷闲写个mvp模式示例. mvp模式重要的有两点 1 低耦合: 界面与后端数据类,不直接引用,可方便替换. 2 形成界面驱动-界面更新的闭环.:通过函数指针类技术,让数据自动回流. MVP (Model-View-Presenter) 视图#xff08;View#xff09;: 接…近些天用qt 作项目,遇到参数界面.偷闲写个mvp模式示例. mvp模式重要的有两点 1  低耦合: 界面与后端数据类,不直接引用,可方便替换. 2 形成界面驱动-界面更新的闭环.:通过函数指针类技术,让数据自动回流. MVP (Model-View-Presenter) 视图View: 接收用户的交互请求并根據需求展示数据给用户响應的數据可以是一個Model或者多個Model的混合 主持人Presenter View 和 Mode的連接器接收 View 的要求 并給对应的Model去處理 模型Model 負責數据 (增加删除更改查詢)相關的业务逻辑而不是在Presenter(因為會使Presenter變得臃腫) 参考: 一文读懂MVC、MVP和MVVM架构 直接上代码, QT5.9.0 ,C11 view, 包括一个设置数据的接口与一个要求数据的信号(类似于函数指针);诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼诉讼 //.h class DialogView : public QDialog {Q_OBJECTpublic:explicit DialogView(QWidget *parent nullptr);~DialogView();void UpdateVidw(UerData data);signals:void UpdateView_Signal();private slots:void on_btnRefresh_clicked();private:Ui::DialogView *ui; };//.cpp void DialogView::UpdateVidw(UerData data) {this-ui-comboBox-setCurrentIndex(data.SelIdx);this-ui-lineEdit-setText(data.txt);this-ui-spinBox-setValue(data.num);this-ui-timeEdit-setTime(data.utime);this-ui-dial-setValue(data.SelNum); }void DialogView::on_btnRefresh_clicked() {emit this-UpdateView_Signal(); } 流通使用的数据结构 struct UerData { public:int SelIdx;QString txt;int num;QTime utime;int SelNum; }; Model. 提供数据源 //.h class DataModel { public:UerData data;void UpdateData(); };//.cpp void DataModel::UpdateData() {// 模拟从外网,下位机设备等拿取数据.qsrand(QTime::currentTime().msec());data.SelIdx qrand()%3;data.txt data.SelIdx 1 ? NUm1 : deg2;data.utime QTime::currentTime();data.num qrand() % 1000;data.SelNum qrand() % 100; }Presenter, 提供连接View 和model的方法 //.h class Presenter : public QObject {Q_OBJECT public:explicit Presenter(DataModel* model, DialogView* view, QObject *parent nullptr);public slots:void fetchData();private:DataModel* m_model;DialogView* m_view; };// .cpp Presenter::Presenter(DataModel *model, DialogView *view, QObject *parent): QObject{parent} {this-m_model model;this-m_view view;// 通过fetchData函数 ,绑定view与 model ,类似给函数指针赋值;QObject::connect(view, SIGNAL(UpdateView_Signal()),this, SLOT(fetchData())); }void Presenter::fetchData() {this-m_model-UpdateData();this-m_view-UpdateVidw(m_model-data); } 使用代码: DialogView *dlg new DialogView();DataModel *model new DataModel();Presenter *p new Presenter(model, dlg);dlg-exec(); 最后实现效果如下: 点击更新按钮数据自动更新.
http://www.dnsts.com.cn/news/167283.html

相关文章:

  • 云南 网站建设网站泰州市网站建设
  • 制作百度移动网站模板免费下载海南建设银行招聘网站
  • 企业网站建设御彩云商丘家居网站建设
  • 各大网站代下单怎么做建设建材网站费用
  • 外包网站设计哪家好电子工程王牌专业
  • 效果好企业营销型网站建设公司企业网站需求方案
  • 厦门专业建站系统制作公司卡地亚官方网站制作需要多少钱
  • 帝国做的网站根目录如何写软文推广产品
  • 网站配色与布局 教材网络营销有哪些岗位
  • 网站建设通俗讲商业计划的网站建设费用
  • 哪个网站做的系统好用吗如何分析网站的设计
  • 领优惠卷的网站怎么做30秒牢记5个域名
  • 网站特效 素材电子商务网站推广计划
  • 社交网站的优点和缺点网页展示模板
  • 大学生怎么做网站知名品牌形象策划公司
  • 福建网站开发工程造价信息网官网查询
  • 网站建设 上海网站建重庆广告制作加工厂
  • 网站开发服务计入什么科目辽阳网站制作
  • 纺织面料做哪个网站好wordpress特效代码
  • 网站制作设计收费网站收录不好怎么办
  • 爱 做 网站自做网站打开速度慢
  • qq开放平台无锡seo关键词排名
  • 做网站规避什么网络设计概念
  • 网站建设的功能需求分析策划书厦门官方网站建设
  • 郴州网红打卡餐厅seo查询官网
  • 网站做电子公章违法吗公司名字logo免费设计
  • 丽水做网站的公司四川网站建设哪家专业
  • 安阳中飞网站建设如何在自己网站添加链接
  • 付费网站做推广哪个好定制网站制作公司有哪些
  • 安康网站设计网页制作工具的选择与网站整体风格是有关系的