PyQt5 tableView 双击事件
PyQt5 tableView 双击事件
由于业务需求,需要实现teableview 双击加载数据,找了很久都没找到办法,在网上搜到了一篇关于重写双击事件的方法,试过了还是不行,后来自己不断尝试终于解决,这里做个简单记录
self.tableView.doubleClicked.connect(self.table_change)def table_change(self, index):row = index.row()match_id = self.model.data(self.model.index(row, 7))
目的是实现双击获取某一行的id,通过id去缓存找到对应数据,渲染着在另一个tableview
其中,需要考虑到清空表格数据
self.tableView.doubleClicked.connect(self.table_change)def table_change(self, index):row = index.row()match_id = self.model.data(self.model.index(row, 7))try:detail_data = self.detail_data[match_id]detail_1x2 = detail_data['1x2']detail_ou = detail_data['ou']detail_ah = detail_data['ah']# 显示1x2 详细数据if detail_1x2 is not None:self.model11.clear()self.model12.clear()self.model13.clear()self.model11 = QStandardItemModel(0, 4)self.model11.setHorizontalHeaderLabels(['Company','1X2/풀타임\n1', '1X2/풀타임\nX', '1X2/풀타임\n2'])self.model12 = QStandardItemModel(0, 4)self.model12.setHorizontalHeaderLabels(['Company','1X2/전반전\n1', '1X2/전반전\nX', '1X2/전반전\n2'])self.model13 = QStandardItemModel(0, 4)self.model13.setHorizontalHeaderLabels(['Company','1X2/후반전\n1', '1X2/후반전\nX', '1X2/후반전\n2'])self.tableView_9.setModel(self.model12)self.tableView_10.setModel(self.model13)self.tableView_11.setModel(self.model11)self.tableView_9.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)self.tableView_9.setEditTriggers(QAbstractItemView.NoEditTriggers)self.tableView_10.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)self.tableView_10.setEditTriggers(QAbstractItemView.NoEditTriggers)self.tableView_11.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)self.tableView_11.setEditTriggers(QAbstractItemView.NoEditTriggers)try:for temp in detail_1x2[list(detail_1x2.keys())[0]]:data_list = [temp['company']] + temp['score_text']self.model11.appendRow([QStandardItem(str(i)) for i in data_list])except:passtry:for temp in detail_1x2[list(detail_1x2.keys())[1]]:data_list = [temp['company']] + temp['score_text']self.model12.appendRow([QStandardItem(str(i)) for i in data_list])except:passtry:for temp in detail_1x2[list(detail_1x2.keys())[2]]:data_list = [temp['company']] + temp['score_text']self.model13.appendRow([QStandardItem(str(i)) for i in data_list])except:passelse:pass
PyQt5 tableView 双击事件相关推荐
- PyQt5 技术篇-QTableWidget表格组件的行选择与列选择实例演示,表格组件的双击事件捕获,获取表格选中单元格的值
self.tableWidget.selectRow(0) 方法可以选择指定行. self.tableWidget.selectColumn(0) 方法可以选择指定列. # 表格的双击事件捕获 sel ...
- java tableview 双击_java-在TableView JavaFX的行上检测双击
java-在TableView JavaFX的行上检测双击 我需要检测在TableView行上的双击. 如何侦听该行任何部分的双击并获取该行的所有数据以将其打印到控制台? 6个解决方案 108 vot ...
- 给同一个按钮添加单双击事件
1.单双击事件的添加. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta cha ...
- Vue 框架-02-事件:点击, 双击事件,鼠标移上事件
Vue 框架-02-事件:点击, 双击事件,鼠标移上事件 1.单击事件:v-on:click 源码 app2.js : //实例化 vue 对象 new Vue({//注意代码格式//el:eleme ...
- Cocos2d-x 处理双击事件的两种方法
在cocos2d-x的开发过程中有些时候也是需要用到双击的事件处理,那么由于在cocos2d-x中没有实现对双击的事件的处理,那么我们就需要自己用代码实现. 下面介绍两种方式实现双击事件的处理. (一 ...
- 为.net中的ListBox控件添加双击事件
我在用dotnet做一个项目的过程中,遇到了一个ListBox的问题:通过在一个ListBox中双击,把选中的项添加到另一个ListBox中,但ListBox控件本身并没有该事件,那么如何实现呢?我就 ...
- 开发手记之-在Winform中为ListBox的添加选项值,并增加双击事件
一直做WebForm, 对于Winform也只仅限于偶尔写一些小程序. 最近因为写了一采集网站数据的小程序,里边要对批量采集到的html页面进行编辑 里边用到了ListBox,显示的时候发现显示文件路 ...
- WPF中如何将ListViewItem双击事件绑定到Command
原文:WPF中如何将ListViewItem双击事件绑定到Command 今天的博客将介绍如何实现ListViewItem双击事件绑定到ViewModel中的Command.实现方法借助了Style中 ...
- silverlight, 双击事件
Silverlight 没有提供双击事件,所以需要通过判断两次点击的时间来模拟双击事件 下面的代码,做个参考. cellBtn.Click += new RoutedEventHandler(cell ...
最新文章
- asp.net[web.config] httphandlers 与实现自由定义访问地址
- 不能定义声明dllimport_C#:多个声明的一个属性(DLLImport)
- 自动机器学习:团队如何在自动学习项目中一起工作?
- VB随笔 -基本语句之循环语句
- XenServer中License的设置对各种操作的影响
- 分析chrome中的network面板
- HTML学习笔记——选择器
- 渲染性能测试 , 结果比想象中好很多.
- 我的Go+语言初体验——(7)Go+ 分数型有理数数据类型
- oracle约束的相关总结
- ggplot2作图4
- C#中IntPtr类型
- node-schedule的定时任务表达式
- 虚拟机安装过程中发生该错误:“客户机操作系统已禁用cup”问题解决方法【全】
- 华为Mate系列平板手机安装谷歌框架
- 圆锥体积等于1/3圆柱体积咋来的
- Codeforces 1071 C - Triple Flips
- kafka-Streaming错误:在IDEA连接kafka时出现错误
- 会议报到和撒离时间算会期_会议议程会议日程格式
- Java课程设计学生考勤管理