qtablewidget通常用于数据的展示,通过其表格布局可以让用户更清晰的查看数据,同时也让数据的筛选变得更加直观。
不过,初学者们和粗心大意的人总是会发现明明自己数据已经正常添加,可是程序运行之后却看不到qtablewidget上有任何一点数据,一片空白。
这是怎么回事呢?我们先看一个可以复现这个问题的代码:
![解决QTableWidget不显示数据的问题](https://www.ctvol.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
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 }
导致数据无法显示的代码
这是它的效果:
没错,表头正常显示了,然而数据却不见了!
我们再来看一下修复后的代码:
![解决QTableWidget不显示数据的问题](https://www.ctvol.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
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有多少数据需要绘制出来。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/607667.html