您可以为将显示html的视图创建委托。

class HtmlDelegate : public QItemDelegate {

public:

HtmlDelegate(QObject *parent = 0) : QItemDelegate(parent) {}

// This function is only called to paint the text

void drawDisplay(QPainter *painter, const QStyleOptionViewItem &option,

const QRect &rect, const QString &text) const

{

QTextDocument doc;

// Since the QTextDocument will do all the rendering, the color,

// and the font have to be put back inside the doc

QPalette::ColorGroup cg = option.state & QStyle::State_Enabled

? QPalette::Normal : QPalette::Disabled;

if (cg == QPalette::Normal && !(option.state & QStyle::State_Active))

cg = QPalette::Inactive;

QColor textColor = option.palette.color(cg, QPalette::Text);

doc.setDefaultStyleSheet(QString("body { color: %1}")

.arg(textColor.name()));

doc.setDefaultFont(option.font);

doc.setHtml(text);

doc.setDocumentMargin(1); // the default is 4 which is too much

painter->save();

painter->translate(rect.topLeft());

doc.drawContents(painter);

painter->restore();

}

// bold and underlined characters take more space

// so you have to redefine this function as well

// (if you have a checkbox or an icon in the item, you will have

// to include their size to the returned value)

QSize sizeHint(const QStyleOptionViewItem &option,

const QModelIndex &index) const

{

QTextDocument doc;

doc.setDefaultFont(option.font);

doc.setHtml(index.data(Qt::DisplayRole).toString());

doc.setDocumentMargin(1);

return doc.size().toSize();

}

};

然后将其分配给视图:

view->setItemDelegateForColumn(0, new HtmlDelegate(view));

html接收model数据,QAbstractTableModel数据返回要显示的html代码相关推荐

  1. Linux串口编程 —— 发送的数据无法被接收,且被原封不动返回

    Linux串口编程--发送的数据无法被接收,且被原封不动返回 问题描述 使用 #include <fcntl.h> /*文件控制定义*/ #include <termios.h> ...

  2. 如何在Django中接收JSON格式的数据

    Django做了大量工作简化我们的Web开发工作, 这其中当然也包括接收来自客户端的数据这一普遍需求. 大部分时候,从客户端传入的数据主要是FORM的POST数据,和来自URL的GET数据, 在Dja ...

  3. Django模板、配置文件、静态文件及案例实现(创建模板、设置模板查找路径、模板接收视图传入的数据、模板处理数据、BASE_DIR、DEBUG、本地语言与时区、App应用配置)

    1.Django模板 网站如何向客户端返回一个漂亮的页面呢? 漂亮的页面需要html.css.js. 可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 存在的 ...

  4. Spring MVC--自定义HttpMessageConverter接收JSON格式的数据

    替换默认的Jackson,使用fastjson来处理json格式的数据. index.jsp <%@ page language="java" contentType=&qu ...

  5. form表单、控制器中接收表单提交数据的4种方式

    Form表单 这篇文章主要讲的是form表单的提交 之前我们接触过的form表单元素是在Bootstrap框架里面,这次也将用到Bootstrap框架去布局(见图表1)通过Bootstrap框架布局呈 ...

  6. 使用mybatis插入数据(insert)时返回主键的问题

    使用mybatis做插入操作时,想要获取新增记录的主键,我发现现在的方式和以前的方式有所区别,即以前是直接通过方法返回,现在是将主键设置在数据实体对象中. 下面对mybatis进行insert时返回主 ...

  7. Android客户端通过TCP接收服务器端发送的数据

    引言 因为我确实不懂TCP通信这一块儿,最近项目中要实现客户端接收服务器端发送过来的数据(这个数据是int型的,范围是0~360,而且服务器端用C语言写的,每一秒发送一次,客户端只需要不断接收就好了) ...

  8. stm32串口自定义协议接收一串十六进制数据(将其中两个字节转化为十进制数据)+部分串口基础知识

    文章目录 一.基本储存单元 二.通信协议 (一)并行通信和串行通信 (二)三种工作方式 (三)收发数据同步或异步传输 (四)通信速率 三.串口通信协议 (一)RS232 (二)USB转串口(TTL标准 ...

  9. 如何在服务器端接收流式stream数据

    如何在服务端接收流式stream 在服务端接收流式stream的具体实现方式可能会因不同的编程语言和框架而有所不同,但一般而言,可以按照以下步骤实现: 在服务端创建一个监听端口,并等待客户端连接. 一 ...

最新文章

  1. 2020 年入门数据分析选择 Python 还是 SQL?七个常用操作对比!
  2. 【数据结构作业心得】4-0 二叉树
  3. 2019,顺丰不顺风
  4. 一篇讲清:数据采集中的安全与隐私
  5. Linux中基于snmp协议的mrtg安装及使用
  6. C语言写一个简单的数学程序,用C语言计算简单的数学式子
  7. 下拉框联动_058-ajax之三级联动案例分析
  8. nginx注册为windows系统服务
  9. 机器学习基础-标准方程法-04
  10. 关于Android Force Close 出现的原因 以及解决方法
  11. Image-to-Image Translation with conditional Adversarial Networks ---- Pix-2-Pix
  12. java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查
  13. HTML简单实例加表单的显示效果
  14. 解决android webkit的css postion:fixed支持问题
  15. PHP - Smarty模板引擎 - Download下载 - 2.6.22
  16. 旺旺的计算机无法打开,电脑任务栏中点击阿里旺旺图标无法打开界面的解决方法...
  17. TEX studio:IEEE latex模板的下载与使用
  18. 服务器Socket概述与实例
  19. tyvj 1027 木瓜地 简单模拟
  20. Vue实现简单的发表评论,吐槽评论

热门文章

  1. Serverless无服务应用架构纵横谈
  2. 企业管理难题:团队协作
  3. 全栈技术实践经历告诉你:开发一个商城小程序要多少钱?
  4. 负载均衡策略关键因素
  5. 1、存在如下数列1、1、2、4、7、13、24、44、81、149......现要求该数列第n项的值(n从O开始算)。 程序运行结果: 1/2 输入:4 输出:7 输入:9 输出:149
  6. 07 Java面试反射原理
  7. Hadoop安装配置,并使用Hadoop计算圆周率测试Hadoop是否安装成功
  8. java cirteria_java – 简单的JPA CriteriaQuery的条件
  9. Linux下的软件安装方法介绍
  10. tensorflow中的变量管理