当前位置:   article > 正文

循环判断tablewidget中是否有空白单元格。_qt tablewidget 如何判断一行的单元格是否有空白

qt tablewidget 如何判断一行的单元格是否有空白
  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QTableWidgetItem, QTableWidget
  3. app = QApplication(sys.argv)
  4. # tablewidget相关属性设置
  5. ui_1 = QTableWidget()
  6. ui_1.setRowCount(3)
  7. ui_1.setColumnCount(3)
  8. ui_1.resize(400,400)
  9. item_1 = QTableWidgetItem("水果")
  10. ui_1.setItem(1,1,item_1)
  11. # 循环遍历获取单元格内容
  12. row_count_1 = ui_1.rowCount() # 获取行数
  13. column_count_1 = ui_1.columnCount() # 获取列数
  14. print(f"1:\t{row_count_1}") # 打印看一看具体数值是多少
  15. print(f"2:\t{column_count_1}")
  16. list_tablewidget_data_1 = []
  17. for i in range(row_count_1):
  18. for j in range(column_count_1):
  19. data_1 = ui_1.item(i,j)
  20. print(f"3:\t{data_1}")
  21. list_tablewidget_data_1.append(data_1)
  22. print(f"4:\t{list_tablewidget_data_1}")
  23. # 判断是否有空白单元格
  24. if None in list_tablewidget_data_1:
  25. print("列表中有空白单元格,不可进行读取操作,请补全数据")
  26. else:
  27. print("列表中没有空白单元格,可进行读取操作")
  28. a_1 = 1
  29. print(f"5:\t{a_1}")
  30. # 优点:if语句没有放在for in循环中
  31. ui_1.show()
  32. sys.exit(app.exec_())

此处代码的优点是:if判断语句放置在for in循环之外,不受循环影响。

注:

1、此处没有用到绘制的ui界面

2、用item获取单元格数据,若有数据,会返回一串代码,如<PyQt5.Qtwidgets......>。若没有数据,则会返回None值。

3、使用.text()函数获取单元格内容前,请先判断一下是否有空白单元格,因为空白单元格对应的None值在.text()函数中无法识别为文本,会报错,程序也会跟着崩溃

写在最后

如果解决了你长久以来的困惑,记得点赞评论收藏哦~

如果解决了你的燃眉之急,荣幸之至,还请记得赞赏哟~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/698222
推荐阅读
相关标签
  

闽ICP备14008679号