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

默认情况下,`QTableView`中的单元格内容是不支持自动换行的,而是将文本截断或者显示省略号。要实现内容自动换行。要用Delegate

迅雷demo
链接:https://pan.xunlei.com/s/VO8lJGf-bokGg8VVVKUwiF1AA1?pwd=xxce#
复制这段内容后打开手机迅雷App,查看更方便

#include <QStyledItemDelegate>class WrapDelegate : public QStyledItemDelegate
{Q_OBJECT
public:WrapDelegate(QObject * parent  = 0);~WrapDelegate();void paint(QPainter *painter, const QStyleOptionViewItem & option,const QModelIndex & index) const override;
};

重新这里的paint


void WrapDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{auto text = index.model()->data(index, Qt::DisplayRole).toString();//注意,这里必须用TextWrapAnywhere!  TextWordWrap无效painter->drawText(option.rect, Qt::TextWrapAnywhere | Qt::AlignVCenter, text);
}

使用方法

auto pTable = new QTableView;pTable->setModel(&m_model);auto pDelegate0 = new WrapDelegate();auto pDelegate1 = new WrapDelegate();auto pDelegate2 = new WrapDelegate();pTable->setItemDelegateForColumn(0, pDelegate0);pTable->setItemDelegateForColumn(1, pDelegate1);pTable->setItemDelegateForColumn(2, pDelegate2);

http://www.mrgr.cn/news/46478.html

相关文章:

  • 【项目介绍】DeepOF一个用于后处理从自由移动啮齿动物视频中提取的时间序列的工具包
  • 【Ubuntu 24.04】虚拟机常见问题解决
  • Django创建项目速成
  • 工程水印相机结合图纸,真实现场时间地点,如何使用水印相机,超简单方法只教一次!
  • Observability:将 OpenTelemetry 添加到你的 Flask 应用程序
  • 【黑灰产】假钱包推广套路
  • 鹧鸪云光伏软件全面解析
  • Web3与人工智能的交叉应用探索
  • 【深度学习总结】热力图-Grad-CAM使用
  • whistle使用实践
  • Linux内核 -- 使用 `proc_create_seq` 和 `seq_operations` 快速创建 /proc 文件
  • VAE(与GAN)
  • k8s pod详解使用
  • 【系统架构设计师】案例专题二:系统开发基础考点梳理
  • IPguard与Ping32:安全性、易用性与稳定性全面对比
  • 更新子节点的优化策略2:key
  • 集合.上(2)
  • 【Redis】Set类型的常用命令与应用场景
  • Java语言教程:打造你的第一款五子棋游戏 JAVA学习攻略心得总结
  • docker k8s mysql 命令行 sql 不能输入中文
  • 华为OD机试 - 处理器问题(Python/JS/C/C++ 2024 E卷 200分)
  • jvm垃圾收集器简介
  • 10.10 题目总结(累计)
  • Java数据类型常量
  • 【论文阅读】超分辨率图像重建算法综述
  • 【C语言】指针