解决QTableWidget不显示数据的问题
QTableWidget通常用于数据的展示,通过其表格布局可以让用户更清晰的查看数据,同时也让数据的筛选变得更加直观。
不过,初学者们和粗心大意的人总是会发现明明自己数据已经正常添加,可是程序运行之后却看不到QTableWidget上有任何一点数据,一片空白。
这是怎么回事呢?我们先看一个可以复现这个问题的代码:
func main() {
widgets.NewQApplication(len(os.Args), os.Args)
table := widgets.NewQTableWidget(nil)
table.SetColumnCount()
table.SetHorizontalHeaderLabels([]string{"编号", "姓名", "年龄"})
// 去除边框
table.SetShowGrid(false)
// 设置数据
num1 := widgets.NewQTableWidgetItem2("", )
name1 := widgets.NewQTableWidgetItem2("anmi", )
age1 := widgets.NewQTableWidgetItem2("", )
table.SetItem(, , num1)
table.SetItem(, , name1)
table.SetItem(, , age1)
num2 := widgets.NewQTableWidgetItem2("", )
name2 := widgets.NewQTableWidgetItem2("terra", )
age2 := widgets.NewQTableWidgetItem2("", )
table.SetItem(, , num2)
table.SetItem(, , name2)
table.SetItem(, , age2)
table.SetWindowTitle("QTableWidget")
table.Show()
widgets.QApplication_Exec()
}
导致数据无法显示的代码
这是它的效果:

没错,表头正常显示了,然而数据却不见了!
我们再来看一下修复后的代码:
func main() {
widgets.NewQApplication(len(os.Args), os.Args)
table := widgets.NewQTableWidget(nil)
table.SetColumnCount()
table.SetRowCount()
table.SetHorizontalHeaderLabels([]string{"编号", "姓名", "年龄"})
// 去除边框
table.SetShowGrid(false)
// 设置数据
num1 := widgets.NewQTableWidgetItem2("", )
name1 := widgets.NewQTableWidgetItem2("anmi", )
age1 := widgets.NewQTableWidgetItem2("", )
table.SetItem(, , num1)
table.SetItem(, , name1)
table.SetItem(, , age1)
num2 := widgets.NewQTableWidgetItem2("", )
name2 := widgets.NewQTableWidgetItem2("terra", )
age2 := widgets.NewQTableWidgetItem2("", )
table.SetItem(, , num2)
table.SetItem(, , name2)
table.SetItem(, , age2)
table.SetWindowTitle("QTableWidget")
table.Show()
widgets.QApplication_Exec()
}
正确的代码
显示效果:

其实问题很简单,看代码的第六行,我们设置了行数。
QTableWidget需要先设置一共有多少行数据才能正常显示,如果不设置那么默认是0行数据,也就是什么也不显示。
所以需要QTableWidget的人一定不要忘了使用SetRowCount告诉widget有多少数据需要绘制出来。
解决QTableWidget不显示数据的问题的更多相关文章
- C# 解决ListView控件显示数据出现闪屏的问题
一.发现问题 如果发送数据过快的情况下,ListVies滚屏显示数据时会显示闪屏,如下所示现象: 二.解决问题 根据出现闪屏的情况,在网上查了资料要使用双缓存的办法来处理.其原理是数据在缓存区中进行处 ...
- EL表达式显示数据取整问题
第一 插入fmt标签库 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%&g ...
- Flexigrid在IE下不显示数据的处理
文章总结自我的论坛提问: http://bbs.csdn.net/topics/390498434?page=1#post-394918028 解决方法: 网上的答案经我验证都是不靠谱的,以后大家就知 ...
- aspnet中通过多条件筛选来显示数据的实现
UI图: 功能实现: 1.勾选住哪个选项之后,就加入了筛选.支持姓名的模糊查询. 2.对筛选出来的数据可以直接修改,并更新回数据库. 说明:显示的数据来自T_User表.数据显示控件使用的是 List ...
- datagrid数据表格当数据为0的时候页面不显示数据
如下图: datagrid数据表格当数据为0的时候页面不显示数据,为空的表格数据全是0,但是页面无法显示 传递的json数据也是没问题的: 所以实在想不通,为什么easyUI datagrid 不显示 ...
- LigerUI之Grid使用详解(一)——显示数据
目录: 一.概述 二.Grid使用步骤 三.使用Grid展示数据 四.源码下载 一.概述 在开发web信息管理系统时,使用Web前端框架可以帮助我们快速搭建一组风格统一的界面效果,而且能够解决大多数浏 ...
- qt QTableWidget&&QTableView 导出数据到excel
通常情况下,我们在开发过程中比较常用的方法是将表格的数据到处到excel文件.我也在这个点上头疼了很长时间,不过功夫不负苦心人,最终还是勉强达到效果,为了后面再次用到时不手忙脚乱现在将方法寄存在此,如 ...
- Struts1.x 中处理乱码及通过标签显示数据
1.通过filter解决乱码问题 网页的请求到达之前,先要经过filter的处理: 提取数据出现乱码:request.setCharacterEncoding("UTF-8"); ...
- [转]qt QTableWidget&&QTableView 导出数据到excel
转自http://blog.csdn.net/fairystepwgl/article/details/54576372 注意:由于在qt导出的过程中分为QTableWidget导出文件到excel和 ...
随机推荐
- Django积木块十——全文检索
全文检索 全文检索效率更高,对中文可以进行分词 <!--# 1.安装包--> pip install django-haystack pip install whoosh pip inst ...
- 架构(二)Maven安装以及Nexus配置
一 Maven安装配置 1.1 下载 http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-ma ...
- C语言向上、向下取整
C语言有以下几种取整方法: 1.直接赋值给整数变量.如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分 2.C/C++中的整数除法运算符“/”本身就有取整功 ...
- 用python处理csv文件
1.准备csv文件(这里是平安银行的统计表:下载并另存为pingan.csv) >>> from urllib import urlretrieve >>> url ...
- 编程语言吐槽之Java与C
包含各种偏见和武断,请谨慎阅读. 为什么在学校学习的C,拿到企业生产中不起作用? 而为什么企业级的程序员,依然对C/C++无法掌控?在算法各方面不够精湛? 根本原因还是应用场景的不同.企业级的开发,主 ...
- 几种归一化方法的概念及python实现
一 (0,1)标准化: 这是最简单也是最容易想到的方法,通过遍历feature vector里的每一个数据,将Max和Min的记录下来,并通过Max-Min作为基数(即Min=0,Max=1)进行数据 ...
- 新年放大招:Github 私库免费了!
据<Github 嫁入豪门>这篇文章刚好半年了,那时候栈长还表示对 Github 的期待,仅仅半年,现在就已经有了巨大改变. 微软果然是豪门,嫁入半年就已经开花结果了,免费私库已全面无限制 ...
- 使用C语言实现一个自动刷弹幕的程序
本文使用两种方式来进行刷弹幕操作 1 模拟键盘输入,自动输入文字,然后点击回车. 2 操作剪切板,直接将剪切板的文字粘贴到输入框,然后回车. 模拟键盘输入 如果要输入"弹幕"这两个 ...
- Java核心技术及面试指南 IO部分的面试题归纳以及答案
4.6.1 java中有几种类型的流? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStr ...
- vue 项目实战 (vue全家桶之--- vuex)
老规矩先安装 npm install vuex --save 在看下面内容之前 你应该大概的看了一边vuex官方的文档对vuex有个大概对了解 首先 vuex 是什么? vuex 是属于vue中的什么 ...