返回顶部

[Python] pyqt5中使用了QTableWidget赋值后没有显示内容的解决办法

[复制链接]
awagink 显示全部楼层 发表于 2021-1-4 20:05:40 |阅读模式 打印 上一主题 下一主题
  1. QStringList strList;
  2.     strList.append("原来文本");
  3.     strList.append("改后文本");
  4.    // ui->tableWidget->setHorizontalHeaderLabels(strList);
  5.     QVector<QString> ss= mAxis->tickVectorLabels();
  6.     for(int i=0;i!=ss.length();++i)
  7.     {
  8.         QTableWidgetItem *theItem1=new QTableWidgetItem(ss[i]);
  9.         ui->tableWidget->setItem(i,0,theItem1);
  10.         QTableWidgetItem *theItem2=new QTableWidgetItem(ss[i]);
  11.         ui->tableWidget->setItem(i,1,theItem2);
  12.     }
复制代码

原因是表格初始化时没有设置行和列的数量,

方法一:
在qtdesigner中找到并设置初始化行数和列数
问题已解决, 添加:
    ui->tableWidget->setColumnCount(strList.length());
    ui->tableWidget->setRowCount(ss.length());

方法二:
在代码中直接根据数据行数和列数设置表格行数和列数。
  1.     def show_data_table_widget(self,print_file_name_and_path_list):
  2.         self.ui.tableWidget.setRowCount(len(print_file_name_and_path_list))  # 行数
  3.         self.ui.tableWidget.setColumnCount(len(print_file_name_and_path_list[0]))  # 列数
  4.         self.ui.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)  # 所有列自动拉伸,充满界面
  5.         self.ui.tableWidget.setSelectionMode(QAbstractItemView.SingleSelection)  # 设置只能选中一行
  6.         self.ui.tableWidget.setEditTriggers(QTableView.NoEditTriggers)  # 不可编辑
  7.         self.ui.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows);  # 设置只有行选中
  8.         self.ui.tableWidget.setHorizontalHeaderLabels(['文件名', '文件路径'])  # 横向标题排列,如果使用setVerticalHeaderLabels则是纵向排列标题

  9.         # items = [['JONES', 'Beijing', '23', '2300'], ['SMITH', 'SHAngHai', '23', '3000'], ['ZY', 'Tianjin', '23', '2000'],
  10.         #          ['Smith', 'SJT', '22', '1030']]
  11.         items = print_file_name_and_path_list

  12.         for i in range(len(items)):  # 注意上面列表中数字加单引号,否则下面不显示(或者下面str方法转化一下即可)
  13.             item = items[i]
  14.             for j in range(len(item)):
  15.                 temp_item = QTableWidgetItem(str(items[i][j]))
  16.                 self.ui.tableWidget.setItem(i, j, temp_item)
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ