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

自主建站系统网上商城怎么推广

自主建站系统,网上商城怎么推广,大良营销型网站设计公司,seo课培训目录 前言1、功能描述2、代码实现2.1 ui文件2.1 头文件2.2 源码文件2.3 设计思路 4、示例5、总结 前言 在应用程序开发时经常会遇到数据分页的需求#xff0c;每一页展示特定数量的数据#xff0c;通过点击按钮翻页或者输入页码跳转到指定页。 本文介绍一个自定义分页控件每一页展示特定数量的数据通过点击按钮翻页或者输入页码跳转到指定页。 本文介绍一个自定义分页控件基本上实现了作为一个分页控件该有的功能。 1、功能描述 本分页控件支持显示总页数支持显示当前页码支持跳转到指定页支持上一页和下一页支持首页和尾页支持显示每页数量支持数据总量显示。 2、代码实现 2.1 ui文件 本分页控件采用ui文件来布局内部的组件具体布局如下图所示 2.1 头文件 头文件中每个方法都作了注释一眼就能明白其功能。 #include QWidgetnamespace Ui { class ZPageWidget; }class ZPageWidget : public QWidget {Q_OBJECTpublic:explicit ZPageWidget(QWidget *parent nullptr);~ZPageWidget();/*** brief setPageCount 设置总页数* param count 总页数*/void setPageCount(int count);int pageCount() const { return m_pageCount; }/*** brief setCurrentPage 设置当前页* param page 当前页码*/void setCurrentPage(int page);int currentPage() const{ return m_currentPage; }/*** brief setDataCount 设置数据总量* param cnt 数据总量*/void setDataCount(int cnt);int dataCount() const { return m_dataCount; }/*** brief setPerpageDataCount 设置每页数据量* param cnt 每页数据量*/void setPerpageDataCount(int cnt);int perpageDataCount() const { return m_perpageDataCount; }signals:/*** brief sign_pageChanged 页码变化信号* param page 当前页码*/void sign_pageChanged(int page);private:/*** brief pageChanged 切换页码*/void pageChanged();private slots:/*** brief slot_previousPageBtnClicked 前一页按钮槽函数*/void slot_previousPageBtnClicked();/*** brief slot_nextPageBtnClicked 后一页按钮槽函数*/void slot_nextPageBtnClicked();/*** brief slot_firstPageBtnClicked 首页按钮槽函数*/void slot_firstPageBtnClicked();/*** brief slot_lastPageBtnClicked 尾页按钮槽函数*/void slot_lastPageBtnClicked();/*** brief slot_skipPageBtnClicked 跳转页码按钮槽函数*/void slot_skipPageBtnClicked();private:Ui::ZPageWidget *ui;int m_pageCount;int m_currentPage;int m_dataCount;int m_perpageDataCount; };2.2 源码文件 ZPageWidget::ZPageWidget(QWidget *parent): QWidget(parent), ui(new Ui::ZPageWidget), m_pageCount(1), m_currentPage(1) {ui-setupUi(this);ui-lineEdit-setValidator(new QRegExpValidator(QRegExp([0-9]$)));connect(ui-btn_previous, SIGNAL(clicked()), this, SLOT(slot_previousPageBtnClicked()));connect(ui-btn_next, SIGNAL(clicked()), this, SLOT(slot_nextPageBtnClicked()));connect(ui-btn_first, SIGNAL(clicked()), this, SLOT(slot_firstPageBtnClicked()));connect(ui-btn_last, SIGNAL(clicked()), this, SLOT(slot_lastPageBtnClicked()));connect(ui-btn_skip, SIGNAL(clicked()), this, SLOT(slot_skipPageBtnClicked())); }ZPageWidget::~ZPageWidget() {delete ui; }void ZPageWidget::setPageCount(int count) {m_pageCount count;m_pageCount m_pageCount 0 ? m_pageCount : 1;if(m_currentPage m_pageCount){m_currentPage m_pageCount;}pageChanged(); }void ZPageWidget::setCurrentPage(int page) {m_currentPage page; }void ZPageWidget::setDataCount(int cnt) {m_dataCount cnt;ui-lb_totalData-setText(QString(%1:%2).arg(QString::fromLocal8Bit(总数)).arg(cnt)); }void ZPageWidget::setPerpageDataCount(int cnt) {m_perpageDataCount cnt;ui-lb_perPageData-setText(QString(%1:%2).arg(QString::fromLocal8Bit(每页)).arg(cnt)); }void ZPageWidget::pageChanged() {emit sign_pageChanged(m_currentPage);ui-lb_pageInfo-setText(QString(%1/%2).arg(m_currentPage).arg(m_pageCount)); }void ZPageWidget::slot_previousPageBtnClicked() {if(m_currentPage 1){m_currentPage--;pageChanged();} }void ZPageWidget::slot_nextPageBtnClicked() {if(m_currentPage m_pageCount){m_currentPage;pageChanged();} }void ZPageWidget::slot_firstPageBtnClicked() {if(m_currentPage ! 1){m_currentPage 1;pageChanged();} }void ZPageWidget::slot_lastPageBtnClicked() {if(m_pageCount ! m_currentPage){m_currentPage m_pageCount;pageChanged();} }void ZPageWidget::slot_skipPageBtnClicked() {int page ui-lineEdit-text().toInt();ui-lineEdit-clear();if(page 0 page m_pageCount){m_currentPage page;pageChanged();} }2.3 设计思路 该分页控件的设计思路比较简单清晰根据分页控件支持的功能将一组QWidget控件封装在一起在各个按钮槽函数中重新计算页码并将当前页码用信号的方式传递给使用者完成页码与数据的同步。 4、示例 下面这个示例代码演示了如何使用该分页控件。分页控件一般与列表或表格结合使用当页码改变时更新列表或表格中的数据。下面以分页列表为例来展示新建一个设计师界面类命名为PageControlTestui文件如下图所示 测试代码 PageControlTest::PageControlTest(QWidget *parent) :QWidget(parent),ui(new Ui::PageControlTest) {ui-setupUi(this);m_dataList QString::fromLocal8Bit(1) QString::fromLocal8Bit(2) QString::fromLocal8Bit(3) QString::fromLocal8Bit(4) QString::fromLocal8Bit(5) QString::fromLocal8Bit(6) QString::fromLocal8Bit(7) QString::fromLocal8Bit(8) QString::fromLocal8Bit(9) QString::fromLocal8Bit(10) QString::fromLocal8Bit(11) QString::fromLocal8Bit(12) QString::fromLocal8Bit(13);int perpageCnt 10;ui-pageWidget-setPerpageDataCount(perpageCnt);ui-pageWidget-setDataCount(m_dataList.size());connect(ui-pageWidget, SIGNAL(sign_pageChanged(int)), this, SLOT(slot_pageChanged(int)));int pageCount ceil(m_dataList.size() / (double)perpageCnt);ui-pageWidget-setPageCount(pageCount);}void PageControlTest::loadData() {int offset ui-pageWidget-perpageDataCount() * (ui-pageWidget-currentPage() - 1);QStringList currPageDataList m_dataList.mid(offset, ui-pageWidget-perpageDataCount());ui-listWidget-clear();for (int var 0; var currPageDataList.size(); var){ui-listWidget-addItem(currPageDataList[var]);} }void PageControlTest::slot_pageChanged(int page) {loadData(); }效果 5、总结 以上就是本文的所有内容了本文实现了一个自定义分页控件并给出一个使用示例。对此有任何疑问欢迎留言讨论
http://www.hkea.cn/news/14569518/

相关文章:

  • HTML和PHP怎么做网站wordpress上传后设置
  • 陕西网站建设报价wordpress文章排序错误
  • 网站建设怎么打广告如何做企业网站宣传
  • 网站怎么做边框七台河新闻联播视频
  • 公司做公司网站广告久久建筑网会员登录没有签到得金币了吗
  • 增加网站和接入备案有播放量就有收益的自媒体平台
  • 什么叫网站收录提交深圳成交型网站建设公司
  • 网站建设推广合同书wordpress 显示标题
  • 元素网站企业网站可概括为
  • 微信 绑定网站赣榆区建设局网站
  • 服装网站建设优点有哪些网站建设案例 央视网
  • 淘宝自己建的网站wordpress 中英文切换
  • 国外产品设计网站推荐东莞网站建设it s
  • 帝国cms企业网站wordpress后台编辑慢
  • 昆明网站网站建设手机对比网站
  • 朔州市2018年建设工程网站南通做公司网站
  • 微信公众号做电影网站做自媒体需要哪些网站
  • 电子商务网官方网站wordpress 上传按钮
  • 网站联盟平台建站之星和凡科建站哪个系统好
  • 政务网站建设工作计划结尾如何开启wordpress mu
  • 唐山网站建设唐山网络优化工程师有多累
  • 网站建设接单吧网站源码程序修改
  • 中国怎么样做跨境网站wordpress邮件发送下载
  • 怎样能注册自己的网站4399电脑版网页版入口
  • 网站建设公司官网甘肃省住房与建设厅网站
  • 网站通知系统做网站 就上凡科建站
  • wordpress教程 aliyun优化营商环境条例心得体会
  • 网站建设工作小组推进表项目计划书模板范文 完整版
  • 租房网站开发文献综述模板学校网站怎么做
  • asp网站 并发数公司网站做论坛