html接收model数据,QAbstractTableModel数据返回要显示的html代码
您可以为将显示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代码相关推荐
- Linux串口编程 —— 发送的数据无法被接收,且被原封不动返回
Linux串口编程--发送的数据无法被接收,且被原封不动返回 问题描述 使用 #include <fcntl.h> /*文件控制定义*/ #include <termios.h> ...
- 如何在Django中接收JSON格式的数据
Django做了大量工作简化我们的Web开发工作, 这其中当然也包括接收来自客户端的数据这一普遍需求. 大部分时候,从客户端传入的数据主要是FORM的POST数据,和来自URL的GET数据, 在Dja ...
- Django模板、配置文件、静态文件及案例实现(创建模板、设置模板查找路径、模板接收视图传入的数据、模板处理数据、BASE_DIR、DEBUG、本地语言与时区、App应用配置)
1.Django模板 网站如何向客户端返回一个漂亮的页面呢? 漂亮的页面需要html.css.js. 可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 存在的 ...
- Spring MVC--自定义HttpMessageConverter接收JSON格式的数据
替换默认的Jackson,使用fastjson来处理json格式的数据. index.jsp <%@ page language="java" contentType=&qu ...
- form表单、控制器中接收表单提交数据的4种方式
Form表单 这篇文章主要讲的是form表单的提交 之前我们接触过的form表单元素是在Bootstrap框架里面,这次也将用到Bootstrap框架去布局(见图表1)通过Bootstrap框架布局呈 ...
- 使用mybatis插入数据(insert)时返回主键的问题
使用mybatis做插入操作时,想要获取新增记录的主键,我发现现在的方式和以前的方式有所区别,即以前是直接通过方法返回,现在是将主键设置在数据实体对象中. 下面对mybatis进行insert时返回主 ...
- Android客户端通过TCP接收服务器端发送的数据
引言 因为我确实不懂TCP通信这一块儿,最近项目中要实现客户端接收服务器端发送过来的数据(这个数据是int型的,范围是0~360,而且服务器端用C语言写的,每一秒发送一次,客户端只需要不断接收就好了) ...
- stm32串口自定义协议接收一串十六进制数据(将其中两个字节转化为十进制数据)+部分串口基础知识
文章目录 一.基本储存单元 二.通信协议 (一)并行通信和串行通信 (二)三种工作方式 (三)收发数据同步或异步传输 (四)通信速率 三.串口通信协议 (一)RS232 (二)USB转串口(TTL标准 ...
- 如何在服务器端接收流式stream数据
如何在服务端接收流式stream 在服务端接收流式stream的具体实现方式可能会因不同的编程语言和框架而有所不同,但一般而言,可以按照以下步骤实现: 在服务端创建一个监听端口,并等待客户端连接. 一 ...
最新文章
- 2020 年入门数据分析选择 Python 还是 SQL?七个常用操作对比!
- 【数据结构作业心得】4-0 二叉树
- 2019,顺丰不顺风
- 一篇讲清:数据采集中的安全与隐私
- Linux中基于snmp协议的mrtg安装及使用
- C语言写一个简单的数学程序,用C语言计算简单的数学式子
- 下拉框联动_058-ajax之三级联动案例分析
- nginx注册为windows系统服务
- 机器学习基础-标准方程法-04
- 关于Android Force Close 出现的原因 以及解决方法
- Image-to-Image Translation with conditional Adversarial Networks ---- Pix-2-Pix
- java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查
- HTML简单实例加表单的显示效果
- 解决android webkit的css postion:fixed支持问题
- PHP - Smarty模板引擎 - Download下载 - 2.6.22
- 旺旺的计算机无法打开,电脑任务栏中点击阿里旺旺图标无法打开界面的解决方法...
- TEX studio:IEEE latex模板的下载与使用
- 服务器Socket概述与实例
- tyvj 1027 木瓜地 简单模拟
- Vue实现简单的发表评论,吐槽评论
热门文章
- Serverless无服务应用架构纵横谈
- 企业管理难题:团队协作
- 全栈技术实践经历告诉你:开发一个商城小程序要多少钱?
- 负载均衡策略关键因素
- 1、存在如下数列1、1、2、4、7、13、24、44、81、149......现要求该数列第n项的值(n从O开始算)。 	程序运行结果: 	1/2 	输入:4 	输出:7 	输入:9 	输出:149
- 07 Java面试反射原理
- Hadoop安装配置,并使用Hadoop计算圆周率测试Hadoop是否安装成功
- java cirteria_java – 简单的JPA CriteriaQuery的条件
- Linux下的软件安装方法介绍
- tensorflow中的变量管理