当前位置: 首页 > news >正文

关于QTableWidget控件中不显示Item的问题解决方法

问题:

编写基于QT5的QTableWidget控件显示浏览的文件夹内容时,不显示Item的选项问题;

在基于UI界面设计基于QTableWidget显示远程登录QFtp服务器请求得到的文件信息时,可以在QTableWidget控件中正常显示请求得到的文件目录;并且可以进行正常的点击进入、浏览操作;

但是我的项目文件为了更好的使用git进行项目文件备份,所以全部采用代码的方式进行设计,这时就产生了一个新的问题。虽然可以正常进行FTP的登录,但是在QTableWidget控件中就是不能正常显示请求得到的FTP回传的内容;

	//创建目录显示previewTableWidget = new QTableWidget(this);previewTableWidget->setMaximumWidth(600);previewTableWidget->setShowGrid(false);     //设置表格不显示网格线previewTableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //自动调整列宽以填充整个视图previewTableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);     //设置表格不可编辑//初始化当前目录为根目录currentDirectory = "/";//将根目录路径添加到路径列表中path << currentDirectory;//创建地址栏previewAddress = new QLineEdit();previewAddress->setFixedWidth(200);previewAddress->setFixedHeight(40);

经过各种测试,后来腾讯元宝给出了一个很好的提示,经过更改后已经可以正常显示了;

特此记录一下:

腾讯元宝提示:

“QTableWidget必须预先设置行数和列数才能显示数据。若未设置或设置错误,即使添加了数据也无法渲染”

// 错误示例:未设置行数直接插入数据
QTableWidget *table = new QTableWidget;
table->setItem(0, 0, new QTableWidgetItem("数据")); // 无效// 正确做法:先设置行数和列数
table->setRowCount(1);  // 设置至少1行
table->setColumnCount(1); // 设置至少1列
table->setItem(0, 0, new QTableWidgetItem("数据")); // 数据可见

更改后的代码如下:

//创建目录显示previewTableWidget = new QTableWidget(this);previewTableWidget->setMaximumWidth(600);previewTableWidget->setShowGrid(false);     //设置表格不显示网格线previewTableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //自动调整列宽以填充整个视图previewTableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);     //设置表格不可编辑// 正确做法:先设置行数和列数previewTableWidget->setRowCount(1);  // 设置至少1行previewTableWidget->setColumnCount(2); // 设置至少1列previewTableWidget->horizontalHeader()->setVisible(false); // 确保水平表头可见previewTableWidget->verticalHeader()->setVisible(false);   // 确保垂直表头可见

总结:

其实问题很简单,看更改后的代码的第9行和第10行,我们设置了行数和列数。

QTableWidget需要先设置一共有多少行数据才能正常显示,如果不设置那么默认是0行数据,也就是什么也不显示。

所以需要QTableWidget的人一定不要忘了使用SetRowCount告诉widget有多少数据需要绘制出来。

相关文章:

  • MCP是什么?
  • windows搭建wireshark抓包snmp协议环境步骤
  • 3.THREE.FogExp2 全面详解 + 实例演示 + 深度解析
  • 【Redis】SpringDataRedis
  • 【单片机 C语言】单片机学习过程中常见C库函数(学习笔记)
  • 悬空引用和之道、之禅-《分析模式》漫谈57
  • 异或区间的划分
  • CmStick CmStick ME|精工品质与工业级安全的加密狗之选[特殊字符][特殊字符]
  • CTF web入门之SQL注入使用工具sqlmap
  • 基于Spring Boot+微信小程序的智慧农蔬微团购平台-项目分享
  • 国产仪器进化论:“鲁般号”基于无人机的天线测试系统
  • idea使用docker插件一键部署项目
  • 2025年一站式AI创作平台主要功能介绍及使用教程
  • Idea中实用设置和插件
  • 第一章:自然语言处理
  • RAG应用过程监控系统选型:LangFuse
  • 使用tabs组件搭建UI框架
  • 4月21日日记
  • 基于MuJoCo物理引擎的机器人学习仿真框架robosuite
  • Python+CoppeliaSim+ZMQ remote API控制机器人跳舞
  • 古文启蒙佳作!锺叔河《念楼学短合集》出修订版
  • 商务部:支持“来数加工”等新业态新模式,发展游戏出海业务
  • 对话地铁读书人|翻译Esther:先读原著,再看电影
  • 圆桌|耐心资本对科技创新有何意义?天使投资最关注哪些要素?
  • 科普|一名肿瘤医生眼中的肺癌诊疗变化:从谈癌色变到与癌共存
  • C909飞机开启越南商业运营