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不显示数据的问题的更多相关文章

  1. C# 解决ListView控件显示数据出现闪屏的问题

    一.发现问题 如果发送数据过快的情况下,ListVies滚屏显示数据时会显示闪屏,如下所示现象: 二.解决问题 根据出现闪屏的情况,在网上查了资料要使用双缓存的办法来处理.其原理是数据在缓存区中进行处 ...

  2. EL表达式显示数据取整问题

    第一 插入fmt标签库 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%&g ...

  3. Flexigrid在IE下不显示数据的处理

    文章总结自我的论坛提问: http://bbs.csdn.net/topics/390498434?page=1#post-394918028 解决方法: 网上的答案经我验证都是不靠谱的,以后大家就知 ...

  4. aspnet中通过多条件筛选来显示数据的实现

    UI图: 功能实现: 1.勾选住哪个选项之后,就加入了筛选.支持姓名的模糊查询. 2.对筛选出来的数据可以直接修改,并更新回数据库. 说明:显示的数据来自T_User表.数据显示控件使用的是 List ...

  5. datagrid数据表格当数据为0的时候页面不显示数据

    如下图: datagrid数据表格当数据为0的时候页面不显示数据,为空的表格数据全是0,但是页面无法显示 传递的json数据也是没问题的: 所以实在想不通,为什么easyUI datagrid 不显示 ...

  6. LigerUI之Grid使用详解(一)——显示数据

    目录: 一.概述 二.Grid使用步骤 三.使用Grid展示数据 四.源码下载 一.概述 在开发web信息管理系统时,使用Web前端框架可以帮助我们快速搭建一组风格统一的界面效果,而且能够解决大多数浏 ...

  7. qt QTableWidget&&QTableView 导出数据到excel

    通常情况下,我们在开发过程中比较常用的方法是将表格的数据到处到excel文件.我也在这个点上头疼了很长时间,不过功夫不负苦心人,最终还是勉强达到效果,为了后面再次用到时不手忙脚乱现在将方法寄存在此,如 ...

  8. Struts1.x 中处理乱码及通过标签显示数据

    1.通过filter解决乱码问题 网页的请求到达之前,先要经过filter的处理: 提取数据出现乱码:request.setCharacterEncoding("UTF-8"); ...

  9. [转]qt QTableWidget&&QTableView 导出数据到excel

    转自http://blog.csdn.net/fairystepwgl/article/details/54576372 注意:由于在qt导出的过程中分为QTableWidget导出文件到excel和 ...

随机推荐

  1. U-Boot Makefile分析(2) config.mk分析

    浏览一下U-Boot各个子目录下的Makefile可以看到,几乎他们都会包含$(TOPDIR)/config.mk,那么这个文件进行了什么操作呢?简单概括:读入include/config.mk.in ...

  2. Django 执行单独脚本及SyntaxError缩进报错解决

    有时候会碰到这样的场景,对于一些业务升级,我需要把数据库数据做些处理,同时又想以 Django 项目的环境变量执行脚本,这个时候使用 python 脚本是再适合不过的手段了. 注意:在pycharm里 ...

  3. admob sdk

    https://support.google.com/admob/answer/2993059?hl=zh-Hans admob sample http://china.inmobi.com/sdk/ ...

  4. Android基础知识学习

    IPC  (Inter-Process Communication) 意思是: 进程间的通信,是指两个进程之间进行数据交换的过程. Android中如何开启多进程呢? 只需要给四大组件(Activit ...

  5. visual studio 2015 Opencv 3.4.0配置

    因为想做AR方面,需要了解计算机视觉知识,决定从opencv开始入门,在网上买了本毛星云的<Opencv3编程入门>开始自学. 一.opencv 3.4.0下载安装 在官网http://o ...

  6. jenkins:一个jenkins项目远程触发另一个jenkins项目构建配置

    很多时候,我们会有这样的应用场景:一个jenkins上的项目构建后,需要远程触发另一台机子上的jenkins中某个项目的构建,可以通过Parameterized Remote Trigger Conf ...

  7. kaldi的TIMIT实例三

    ============================================================================ MMI + SGMM2 Training &a ...

  8. Android之Activity系列总结(二)--任务和返回栈

    任务和返回栈 应用通常包含多个 Activity.每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity. 例如,电子邮件应用可能有一个 Activity 显示 ...

  9. MySQL如何使用索引

    初始化测试数据 创建一个测试用的表 create table dept(id int primary key auto_increment , deptName varchar(32) not nul ...

  10. LabVIEW(八):程序结构中的循环结构

    1.程序结构分为三种:循环结构.分支结构.顺序结构. 本文主要讨论循环结构. 2.While循环 左下角:循环计数端子i,从0开始计数,每进行一次循环,i自动增加1. 右下角:循环条件端子,当循环达到 ...