Qt实现单击或双击QTableWidge/View表头进行排序

2023-10-31

先看效果图 点击一次对应列进行降序,再点击一次进行升序,分别对应图1、图2。
在这里插入图片描述
在这里插入图片描述

实现代码

构造函数中设置了一个sign以及关联对应的信号。 双击表头的信号为sectionDoubleClickClicked

m_sign = true;//设置一个标志位
// 单击表头
connect(ui.tableWidget->horizontalHeader(), &QHeaderView::sectionClicked, this, &QtTableWidgetsSort::onCustomSort);

// 双击表头信号 sectionDoubleClickClicked

槽函数实现为

void QtTableWidgetsSort::onCustomSort(int logicalIndex)
{
	for (size_t i = 0; i < ui.tableWidget->rowCount() - 1; ++i)
	{
		for (size_t j = 0; j < ui.tableWidget->rowCount() - i - 1; ++j)
		{
			if(m_sign == (ui.tableWidget->item(j,logicalIndex)->text() > 
                ui.tableWidget->item(j + 1, logicalIndex)->text()))
			{
                for (size_t k = 0; k < ui.tableWidget->columnCount(); ++k)
                {
                    QTableWidgetItem item1 = *ui.tableWidget->item(j, k);
                    ui.tableWidget->item(j, k)->setText(ui.tableWidget->item(j + 1, k)->text());
                    ui.tableWidget->item(j + 1, k)->setText(item1.text());
                }
			}
		}
	}
    m_sign = !m_sign;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt实现单击或双击QTableWidge/View表头进行排序 的相关文章

随机推荐

  • 微信小程序开店怎么做?

    在日活量如此之高的微信里 很多商家都希望能再微信开一个小程序商店 来提高自己的一个卖货收益 那么微信小程序开店怎么做呢 下面跟大家分享一下微信小程序怎么开店 一 开通小程序账号 首先我们需要开通一个小程序账号 小程序账号的主体类型要企业或者
  • 学习一年Java的程序员的C++学习记录(指针引用绕晕记)

    文章目录 一 C 入门 二 变量和数据类型 三 运算符 四 流程控制 五 复合数据类型 六 函数 七 函数高阶 八 面向对象 一 C 入门 标准输出流中 cout 是一个ostream对象 lt lt 和 gt gt 是C 中经过重载的运算
  • 从谷歌宕机事件认识互联网工作原理

    摘要 谷歌服务器经历了短暂的宕机事件 持续大概27分钟 对部分地区的互联网用户造成了影响 此次事件的原因深究起来需要进入互联网络那深邃的 黑暗的角落 译者注 本文中提到CloudFlare是一家总部位于美国旧金山的内容分发网络 CDN 服务
  • 必备歌曲--超经典

    一些超经典的歌曲 看看你听过多少 1 陈慧琳 记事本 爱得痛了 痛的哭了 记载着我们过去的点点滴滴 让我们一起回忆 2 王力宏 唯一 悠扬 流畅 很有韵味的感觉 大声对你深爱的人说你是我的唯一王力宏新专辑首支主打歌 唯一 打动不少歌迷 觉得
  • 华为OD机试 - 跳房子I(Java)

    题目描述 跳房子 也叫跳飞机 是一种世界性的儿童游戏 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格 跳房子的过程中 可以向前跳 也可以向后跳 假设房子的总格数是count 小红每回合可能连续跳的步教都放在数组steps中 请问
  • shell 脚本中wait命令以及多进程库wait()原语的使用

    一 脚本源码 compute it 1 gt compute it 1 out compute it 2 gt compute it 2 out wait cat compute it 1 out cat compute it 2 out
  • 解决Spyder无法自动补全某些代码的问题

    今天在Spyder发现按tab代码无法自动补全 网上的方法全部试过了 如在ipython里面勾选greedy completion 和autocall选full 删除enum34 我根本就没有这个包 安装rope 安装正确版本的jedi和p
  • JAVA this关键字的使用(JacKing)

    1 对当前对象的引用 public class Leaf int i 0 Leaf increment i return this void print System out println i i public static void m
  • Unity3d trial version 水印

    使用个人免费版发布安卓手机版包 屏幕右下角显示 trial version 水印 解决办法 1 免费版Unity Hub 使用国外网络刷新证书 2 使用付费版Unity Hub
  • 美团笔试-回转寿司

    小美请小团吃回转寿司 转盘上有N盘寿司围成一圈 第1盘与第2盘相邻 第2盘与第3盘相邻 第N 1盘与第N盘相邻 第N盘与第1盘相邻 小团认为第i盘寿司的美味值为A i 可能是负值 如果小团讨厌这盘寿司 现在 小团要在转盘上选出连续的若干盘寿
  • Qt网络编程之实例一GET方式

    看了两天的Qt网络编程 其实主要就是看了看QNetworkAccessManager QNetworkRequest和QNetworkReply这三个类的主要内容 在之前 Qt网络编程主要是使用QHttp等类 但是现在在帮助手册中这些类已经
  • 2022年2月6日--2月12日(ue智慧城市3,4周,本周10小时,合计1929小时,剩余8071小时)

    目前 ue视频教程进行到了智 慧 城 市 3 11 mysql 7 1 tf1 4 11 蓝图反射 1 9 moba 1 5 webapp 2 4 mmoarpg 00A 04 socket 2 57 Opengl 5 9 GLSL 2 1
  • 汇编ret ,retf ,iret ,int指令详解

    ret指令 执行过程 ret指令用栈中的数据 修改IP的值 从而实现近转移 CPU执行ret指令时 进行下面两步操作 IP SS 16 SP SP SP 2 另一种用法 ret n n为整数 等效于 IP SS 16 SP SP SP 2
  • mysql索引的使用和讲解

    索引概述 索引是一个数据结构 索引是帮助 MySQL 高效获取数据的数据结构 有序 在数据之外 数据库系统还维护着满足特定查找算法的数据结构 这些数据结构以某种方式引用 指向 数据 这样就可以在这些数据结构上实现高级查询算法 这种数据结构就
  • 大数据毕设项目 基于python 爬虫 flask的疫情数据可视化系统

    文章目录 1 课题背景 2 实现效果 2 1 整体界面展示 2 2 31省病例柱形图 2 3 全国现有确诊人数趋势 2 4 中国累计确诊时间线 2 5 中国疫情情况饼状图 2 6 高风险树状图 3 相关理论及技术 3 1爬虫 3 2 Dja
  • 谷粒商城微服务分布式高级篇ElasticSearch五——商城业务-商品上架

    文章目录 商品上架 ES数据模型 上架流程 mybatis之foreach用法 TypeReference Feign调用流程 商品上架 后台管理员对spu审核进行操作 点击上架 只有当商品上架才应该被检索 即需要导入商品数据到ES中 请求
  • 神经网络是算法还是模型,神经网络 图像相似度

    神经网络的准确率是怎么计算的 其实神经网络的准确率的标准是自己定义的 我把你的例子赋予某种意义讲解 1 期望输出 1 0 0 1 每个元素代表一个属性是否存在 像着4个元素分别表示 是否肺炎 是否肝炎 是否肾炎 是否胆炎 1表示是 0表示不
  • 知乎:1.03亿月活用户,获得感战略下的内容质量和商业化布局难平衡

    点击上方蓝字关注我们 分析知乎财报 聊聊以下几点问题 知乎主要靠什么赚钱 知乎的收入来源 知乎在商业化方面做了那些探索 知乎的产品规划 玩过知乎的朋友 一定看到过以下短句 谢邀 人在美国 刚下飞机 圈内熟人太多 利益相关 匿了 在知乎回答中
  • 计算机防火墙不能更改,win7无法更改防火墙设置提示系统报错怎么办

    防火墙也称防护墙 是一种位于内部网络与外部网络之间的网络安全系统 可以防止病毒入侵 有位 Win7系统 用户想更改防火墙某些设置 出现无法更改的情况 系统报错 0x80074200 怎么办呢 下面小编告诉大家两种解决win7无法更改防火墙设
  • Qt实现单击或双击QTableWidge/View表头进行排序

    先看效果图 点击一次对应列进行降序 再点击一次进行升序 分别对应图1 图2 实现代码 构造函数中设置了一个sign以及关联对应的信号 双击表头的信号为sectionDoubleClickClicked m sign true 设置一个标志位