Qt工作笔记-列表的分页显示(Qt Widgets框架)
发布日期:2021-06-30 11:01:12
浏览次数:2
分类:技术文章
本文共 2189 字,大约阅读时间需要 7 分钟。
目录
基本概念
关键是逻辑,因为数据都存储在数据结构中,如何把数据结构里面的东西显示到界面上,这才是分页的关键!估计稍微有代码量的程序员看到这就知道该怎么做了。
这里以ListWidget为例。做一个分页的功能;
演示及代码
演示如下:
下一页:
上一页:
程序结构如下:
源码如下:
widget.h
#ifndef WIDGET_H#define WIDGET_H#include#include namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = nullptr); ~Widget();protected: void setListWidget(const int ¤tPage);protected slots: void upBtnClicked(); void downBtnClicked();private: Ui::Widget *ui; QVector m_vec; int m_pageCount; int m_currentPageNum; //当前页数 int m_countPageNum; //总页数};#endif // WIDGET_H
main.cpp
#include "widget.h"#includeint main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
widget.cpp
#include "widget.h"#include "ui_widget.h"#includeWidget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); this->setWindowTitle("CSDN IT1995"); m_pageCount = 52; //如果每页52条 for(int i = 0; i < 666; i++){ m_vec << "第 " + QString::number(i) + " 条"; } //默认第一页 setListWidget(1); connect(ui->upPushButton, SIGNAL(clicked()), this, SLOT(upBtnClicked())); connect(ui->downPushButton, SIGNAL(clicked()), this, SLOT(downBtnClicked()));}Widget::~Widget(){ delete ui;}void Widget::setListWidget(const int ¤tPage){ if(currentPage <= 0){ qDebug() << "Error: The currentPage can't be 0"; return; } int startNum = m_pageCount * (currentPage - 1); ui->listWidget->clear(); for(int i = 0; i < m_pageCount; i++){ if(startNum + i >= m_vec.size()) break; ui->listWidget->addItem(m_vec[startNum + i]); } m_currentPageNum = currentPage; m_countPageNum = m_vec.size() / m_pageCount + 1; ui->currentPageLabel->setText(QString::number(m_currentPageNum)); ui->countPageLabel->setText(QString::number(m_countPageNum));}void Widget::upBtnClicked(){ setListWidget(m_currentPageNum - 1);}void Widget::downBtnClicked(){ if(m_currentPageNum >= m_countPageNum) return; setListWidget(m_currentPageNum + 1);}
打包下载
转载地址:https://it1995.blog.csdn.net/article/details/89946902 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月16日 17时51分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【深度学习笔记】文本分类
2019-04-30
【转载】炼丹实验室:深度学习网络调参技巧
2019-04-30
【论文阅读笔记】文本分类论文汇总
2019-04-30
【python学习笔记】jion()函数和split()函数
2019-04-30
【NLP学习笔记】使用jieba实现关键词提取
2019-04-30
【深度学习笔记】卷积的原理
2019-04-30
【深度学习笔记】卷积的基础知识
2019-04-30
【NLP学习笔记】TF-IDF
2019-04-30
【NLP学习笔记】文本相似度计算——判断两篇文章是否相似
2019-04-30
【NLP学习笔记】余弦相似度
2019-04-30
【NLP学习笔记】One-hot encoding:独热编码
2019-04-30
【NLP学习笔记】word2vec
2019-04-30
【工具使用】如何去掉CSDN-markdown编辑器中图片的水印
2019-04-30
【工具使用】CSDN编辑器markdown字体、颜色与字号的设置
2019-04-30
【深度学习笔记】卷积核weights参数shape说明
2021-07-03
【深度学习笔记】Tensorflow中dense(全连接层)各项参数
2021-07-03
【Python学习笔记】切片x[::2] 理解
2019-04-30