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

万网 网站托管微商分销商城

万网 网站托管,微商分销商城,购物网站的后台,中小企业网站制作哪家好1.简介 在开发过程中#xff0c;我们需要通过点击表头来对QTableView或QTreeView等一系列高级视图进行排序操作#xff0c;以下是进行排序的步骤。 步骤#xff1a; 首先创建了一个QStandardItemModel对象或者继承QAbstractTableModel类作为数据模型#xff0c;并设置了…1.简介 在开发过程中我们需要通过点击表头来对QTableView或QTreeView等一系列高级视图进行排序操作以下是进行排序的步骤。 步骤 首先创建了一个QStandardItemModel对象或者继承QAbstractTableModel类作为数据模型并设置了一些数据。然后创建一个QTableView对象并将数据模型设置为其模型。接下来创建一个QSortFilterProxyModel对象并将QStandardItemModel对象设置为其源模型。然后设置QTableView开启排序功能。最后将QSortFilterProxyModel对象设置为QTableView的模型。 2.示例 自定义QAbstractTableModel类 #ifndef MYTABLEMODEL_H #define MYTABLEMODEL_H#include QAbstractTableModel #include QObject #include QListtypedef struct _student {QString name;int age;double score; }Student;class MyTableModel : public QAbstractTableModel {Q_OBJECT public:MyTableModel(QObject *parent nullptr);enum RoleNames{Name,Age,Score};public://更新void update(QListStudent students);//行数量virtual int rowCount(const QModelIndex parent QModelIndex()) const;//列数量virtual int columnCount(const QModelIndex parent QModelIndex()) const;// 表格项数据virtual QVariant data(const QModelIndex index, int role Qt::DisplayRole) const;// 表头数据virtual QVariant headerData(int section, Qt::Orientation orientation, int role Qt::DisplayRole) const;private:QListStudent m_lstStu; };#endif // MYMODEL_H#include MyTableModel.hMyTableModel::MyTableModel(QObject *parent): QAbstractTableModel(parent) {}void MyTableModel::update(QListStudent students) {m_lstStu students;for(int i0;im_lstStu.size();i){beginInsertRows(QModelIndex(),i,i);endInsertRows();} }int MyTableModel::rowCount(const QModelIndex parent) const {Q_UNUSED(parent);return m_lstStu.count(); }int MyTableModel::columnCount(const QModelIndex parent) const {Q_UNUSED(parent);return 3; }QVariant MyTableModel::data(const QModelIndex index, int role) const {if (!index.isValid())return QVariant();int nColumn index.column();int nRow index.row();Student stu m_lstStu.at(nRow);if(role Qt::DisplayRole){if (nColumn MyTableModel::Name)return stu.name;else if(nColumn MyTableModel::Age)return stu.age;else if(nColumn MyTableModel::Score)return stu.score;}return QVariant(); }QVariant MyTableModel::headerData(int section, Qt::Orientation orientation, int role) const {Q_UNUSED(section);if(orientation Qt::Horizontal role Qt::DisplayRole){if (section MyTableModel::Name)return QStringLiteral(姓名);else if(section MyTableModel::Age)return QStringLiteral(年龄);else if(section MyTableModel::Score)return QStringLiteral(分数);}return QVariant(); }使用代码示例 #include form.h #include ui_form.h #include MyTableModel.h #include QSortFilterProxyModelForm::Form(QWidget *parent) :QWidget(parent),ui(new Ui::Form) {ui-setupUi(this);//去除选中虚线框ui-tableView-setFocusPolicy(Qt::NoFocus);//设置最后一栏自适应长度ui-tableView-horizontalHeader()-setStretchLastSection(true);//设置整行选中ui-tableView-setSelectionBehavior(QAbstractItemView::SelectRows);//不显示垂直表头ui-tableView-verticalHeader()-setVisible(false);MyTableModel *pModel new MyTableModel(this);// 构造数据更新界面QListStudent students;QListQString nameList;nameList张三李四王二赵五刘六;for (int i 0; i 5; i){Student student;student.name nameList.at(i);student.age qrand()%6 13;//随机生成13到19的随机数student.score qrand()%20 80;//随机生成0到100的随机数;students.append(student);}pModel-update(students);ui-tableView-setModel(pModel);// 设置可排序ui-tableView-setSortingEnabled(true);// 设置数据源模型QSortFilterProxyModel *pProxyModel new QSortFilterProxyModel(this);pProxyModel-setSourceModel(pModel);ui-tableView-setModel(pProxyModel);// 设置按得分降序排列ui-tableView-sortByColumn(MyTableModel::Score, Qt::DescendingOrder); }Form::~Form() {delete ui; }
http://www.hkea.cn/news/14405871/

相关文章:

  • 360网站 备案为什么外包会把人干废
  • 什么是响应式网站建设网站受到攻击
  • 做网络写手赚钱的网站购物网站后台管理系统模板
  • 公司网站建设制作全包网站建设就问山东聚搜网络f
  • 网站如何做淘宝联盟推广电商网站建设课件
  • 原网站开发新功能湖南营销型网站建设 在线磐石网络
  • 自助建网站哪个好网站维护建设招标
  • 网站转出来个网站吧好人一生平安2021
  • 注册公司网上核名网站哈尔滨关键词优化平台
  • 建设php网站网站优化公司大家好
  • wordpress区分移动站静态网站登陆怎么做
  • 我有服务器怎么做网站网站做seo
  • 海珠做网站高清无线视频传输系统
  • 河南网站建设的详细策划佛山制作手机网站
  • 找简历的网站wordpress首页多重筛选
  • 微擎pc网站开发企业所得税税前扣除项目有哪些
  • 福州网站开发风格房产备案查询系统
  • 网站建设专员网站标题怎么做链接
  • 织梦网站英文版怎么做松江移动网站建设
  • 企业摄影网站模板wordpress接入翼支付宝
  • 郑州好的网站建设公司学做网站多长时间
  • 郑州网站建设知名公司开发公司企业管理制度
  • 做网站找哪家最好云南做网站费用
  • 宁城网站建设公司公司做网站能够带来的好处
  • 建立网站要钱吗财务记账网站开发
  • 宝塔网站搭建教程seo关键词库
  • 个人主页免费网站下载微信安装微信
  • 上海模板网站套餐推广手段
  • 微信网站怎么做给人做网站
  • 网站访客qq抓取统计系统怎么建立网站平台