找回密码
 立即注册

QTableView 数据导出 打印

尚未签到

发表于 2018-9-14 16:32:53 | 显示全部楼层 |阅读模式
5Qter豆
QTableView+Model,的模式加载数据,现在想以表格的形式打印这些数据,该怎么实现?
目前想到的是先把数据弄到QTextDocument里面,然后再打印,但是怎么弄到QTextDocument里面呢?
求助各位!!

回复

使用道具 举报

累计签到:39 天
连续签到:1 天
发表于 2018-9-14 23:21:39 | 显示全部楼层
替代方案1:将QTableView打印到QPixmap中,打印QPixmap。
替代方案2:将model数据格式化到.csv文件中,打开excel打印。

点评

是界面上的打印功能,第二种方案不可行吧  详情 回复 发表于 2018-9-17 09:01
回复

使用道具 举报

尚未签到

 楼主| 发表于 2018-9-17 09:01:11 | 显示全部楼层
baizy77 发表于 2018-9-14 23:21
替代方案1:将QTableView打印到QPixmap中,打印QPixmap。
替代方案2:将model数据格式化到.csv文件中,打开 ...

是界面上的打印功能,第二种方案不可行吧
回复

使用道具 举报

累计签到:39 天
连续签到:1 天
发表于 2018-9-17 10:24:04 | 显示全部楼层
涅槃 发表于 2018-9-17 09:01
是界面上的打印功能,第二种方案不可行吧

如果想直接通过界面打印,替代方案2不太方便。不过Qt好像也有office的支持,但是不太稳定。
回复

使用道具 举报

累计签到:39 天
连续签到:1 天
发表于 2018-9-17 10:35:51 | 显示全部楼层
        QPixmap pixmap(宽, 高);
        QPainter painter(&pixmap);
        QTableView tableView;// 您的view对象
        tableView.render(&painter....);  

点评

打印预览出来是空白的,最后用html的方式实现的。  详情 回复 发表于 2018-9-17 15:55
回复

使用道具 举报

尚未签到

 楼主| 发表于 2018-9-17 15:55:37 | 显示全部楼层
baizy77 发表于 2018-9-17 10:35
QPixmap pixmap(宽, 高);
        QPainter painter(&pixmap);
        QTableView tableView;// 您的view对象

打印预览出来是空白的,最后用html的方式实现的。
回复

使用道具 举报

累计签到:39 天
连续签到:1 天
发表于 2018-9-17 17:26:11 | 显示全部楼层
涅槃 发表于 2018-9-17 15:55
打印预览出来是空白的,最后用html的方式实现的。

很抱歉,没能帮上忙,能否把您的最终方案分享一下。

点评

取数据然后写html的方式,通过QTextDocument打印  详情 回复 发表于 2018-9-18 11:37
回复

使用道具 举报

尚未签到

 楼主| 发表于 2018-9-18 11:37:16 | 显示全部楼层
baizy77 发表于 2018-9-17 17:26
很抱歉,没能帮上忙,能否把您的最终方案分享一下。

取数据然后写html的方式,通过QTextDocument打印
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

涅槃

    主题

    帖子

    142

    积分

    Qter2级会员

    Rank: 2

    积分
    142

Qter2级会员

发私信

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!