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

关于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有多少数据需要绘制出来。

http://www.xdnf.cn/news/980.html

相关文章:

  • 速通FlinkCDC3.0
  • 【数字图像处理】图像纹理分析
  • 使用 Vue Router 和 Vite 构建的自动路由生成系统
  • 基于unsloth微调一个越狱大模型
  • 经典文献阅读之--Kinematic-ICP(动态优化激光雷达与轮式里程计融合)
  • Spark,配置hadoop集群2
  • set、multiset、map、multimap在OJ的使用
  • 深度学习预训练和微调
  • 在Ubuntu上查看PCL(Point Cloud Library)的版本
  • MSSQL-数据库还原报错-‘32(另一个程序正在使用此文件,进程无法访问。)‘
  • Cursor可视化大屏搭建__0420
  • java及mysql日期问题
  • RPA系统应用通用文字识别技术,推动 RPA 在各个领域的广泛应用和发展
  • 公有云攻防5(云函数)
  • Java学习手册:Cookie 与 Session 管理
  • 用全新发布的ChatGPT-o3搜文献写综述、专业审稿、降重润色,四个步骤轻松搞定全部论文难题!
  • 电子电器架构 ---软件定义汽车的电子/电气(E/E)架构
  • RolmOCR重磅开源:基于Qwen2.5-VL,速度提升40%,手写/倾斜文档识别准确率超92%
  • 基于定时器查询模式的LED闪烁(STC89C52单片机)
  • MCP:AI时代的“万能插座”,开启大模型无限可能
  • 策略模式:优雅应对多变的业务需求
  • 【论文阅读23】-地下水预测-TCN-LSTM-Attention(2024-11)
  • ZYNQ异构架构精髓:AXI_BRAM赋能PS-PL协同计算的终极指南
  • CATIA高效工作指南——零件建模篇(一)
  • 深度学习入门(一)
  • 智驱未来:AI大模型重构数据治理新范式
  • 重新定义户外防护!基于DeepSeek的智能展开伞棚系统技术深度解析
  • S5P6818_驱动篇(15)内核定时器
  • servlet-保存作用域
  • 使用pyinstaller打包fastapi项目的问题记录