解决QTableWidget不显示数据的问题
程序员文章站
2022-04-29 16:38:31
QTableWidget通常用于数据的展示,通过其表格布局可以让用户更清晰的查看数据,同时也让数据的筛选变得更加直观。 不过,初学者们和粗心大意的人总是会发现明明自己数据已经正常添加,可是程序运行之后却看不到QTableWidget上有任何一点数据,一片空白。 这是怎么回事呢?我们先看一个可以复现这 ......
qtablewidget通常用于数据的展示,通过其表格布局可以让用户更清晰的查看数据,同时也让数据的筛选变得更加直观。
不过,初学者们和粗心大意的人总是会发现明明自己数据已经正常添加,可是程序运行之后却看不到qtablewidget上有任何一点数据,一片空白。
这是怎么回事呢?我们先看一个可以复现这个问题的代码:
1 func main() { 2 widgets.newqapplication(len(os.args), os.args) 3 4 table := widgets.newqtablewidget(nil) 5 table.setcolumncount(3) 6 table.sethorizontalheaderlabels([]string{"编号", "姓名", "年龄"}) 7 // 去除边框 8 table.setshowgrid(false) 9 10 // 设置数据 11 num1 := widgets.newqtablewidgetitem2("0", 0) 12 name1 := widgets.newqtablewidgetitem2("anmi", 0) 13 age1 := widgets.newqtablewidgetitem2("20", 0) 14 table.setitem(0, 0, num1) 15 table.setitem(0, 1, name1) 16 table.setitem(0, 2, age1) 17 18 num2 := widgets.newqtablewidgetitem2("1", 0) 19 name2 := widgets.newqtablewidgetitem2("terra", 0) 20 age2 := widgets.newqtablewidgetitem2("24", 0) 21 table.setitem(1, 0, num2) 22 table.setitem(1, 1, name2) 23 table.setitem(1, 2, age2) 24 25 table.setwindowtitle("qtablewidget") 26 table.show() 27 28 widgets.qapplication_exec() 29 }
这是它的效果:
没错,表头正常显示了,然而数据却不见了!
我们再来看一下修复后的代码:
1 func main() { 2 widgets.newqapplication(len(os.args), os.args) 3 4 table := widgets.newqtablewidget(nil) 5 table.setcolumncount(3) 6 table.setrowcount(2) 7 table.sethorizontalheaderlabels([]string{"编号", "姓名", "年龄"}) 8 // 去除边框 9 table.setshowgrid(false) 10 11 // 设置数据 12 num1 := widgets.newqtablewidgetitem2("0", 0) 13 name1 := widgets.newqtablewidgetitem2("anmi", 0) 14 age1 := widgets.newqtablewidgetitem2("20", 0) 15 table.setitem(0, 0, num1) 16 table.setitem(0, 1, name1) 17 table.setitem(0, 2, age1) 18 19 num2 := widgets.newqtablewidgetitem2("1", 0) 20 name2 := widgets.newqtablewidgetitem2("terra", 0) 21 age2 := widgets.newqtablewidgetitem2("24", 0) 22 table.setitem(1, 0, num2) 23 table.setitem(1, 1, name2) 24 table.setitem(1, 2, age2) 25 26 table.setwindowtitle("qtablewidget") 27 table.show() 28 29 widgets.qapplication_exec() 30 }
显示效果:
其实问题很简单,看代码的第六行,我们设置了行数。
qtablewidget需要先设置一共有多少行数据才能正常显示,如果不设置那么默认是0行数据,也就是什么也不显示。
所以需要qtablewidget的人一定不要忘了使用setrowcount告诉widget有多少数据需要绘制出来。
推荐阅读
-
解决微信小程序中转换时间格式IOS不兼容的问题
-
关于php查询数据库记录显示的有关问题
-
jsp页面调用服务器端接口分页显示数据的问题
-
浅谈MySQL数据库中如何解决分组统计的问题_MySQL
-
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题_extjs
-
由框架产生的有关问题,询问有什么好的解决办法不?
-
Android解决ScrollView下嵌套ListView和GridView中内容显示不全的问题
-
解决SpannableString在Android组件间传递时显示失效的问题
-
FUck ,终于解决phpmyadimn插入中文,页面无法正常显示的有关问题
-
php+mysql第一条数据无法显示的原因和解决方法