Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >QtChart - C++ -保存未显示的图表

QtChart - C++ -保存未显示的图表
EN

Stack Overflow用户
提问于 2017-03-27 04:45:59
回答 2查看 1K关注 0票数 1

我试图在本例中的QTextDocument中将图表保存到文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QTextDocument doc("Frame rate test\n");
QTextCursor cursor(&doc);
cursor.movePosition(QTextCursor::End);

if (getTestFinishedStatus())
{
    QPixmap pix = _pFrameRateChart->grab(); //_pFrameRateChart is QChartView
    cursor.insertImage(pix.toImage());
}

QTextDocumentWriter docWriter;
docWriter.setFileName("framerate.odf");
docWriter.setFormat("ODF");
docWriter.write(&doc);

问题是,如果我在ui中显示图表,结果就不一样了。以下是未显示的结果:

以下是显示结果:

显然,我希望获得第二个结果,即使我没有将ChartView添加到小部件以在ui上显示它。我试过调整QChartView大小,调整QChart大小,将图表添加到临时小部件中,然后QVBoxLayout保存它,在保存它之前临时显示QChartView等等.但没能得到好的结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-19 05:06:19

我没有找到任何简单的方法,所以这里有我的解决方案,这更像是一个解决办法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QPixmap ChartView::getChartPixmap()
{
    QWidget* w = new QWidget; //creating a temporary widget, which will enable to display the chart

    w->resize(REPORT_IMAGE_WIDTH, REPORT_IMAGE_HEIGHT);
    QVBoxLayout *vl;
    vl = new QVBoxLayout(w);
    vl->addWidget(this); //'this' being the QChartView

    w->show(); //showing the widget so it is resized and can be grabbed with the correct dimensions

    QTest::qWait(500); //we need to wait for a little for the graph to be drawn otherwise you'll still have the same size problem

    QPixmap pixmap = w->grab(); //retrieve the pixmap

    w->hide(); //hiding the widget

    return pixmap;
}

它正在工作,但你会有一个小窗口打开与图表500毫秒。

票数 0
EN

Stack Overflow用户

发布于 2017-03-27 04:52:56

我使用下面的代码在Pixmap上呈现一个QGraphivsView,因为QtCharts是基于QGraphivsView的,所以我认为这也是可行的。

尝试渲染图像,而不是试图抓取像素地图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void Printer::putProfileImage(QRect profilePlaceholder, QRect viewPort, QPainter *painter, QGraphivsView* profile)
{
    int x = profilePlaceholder.x() - viewPort.x();
    int y = profilePlaceholder.y() - viewPort.y();
    QRect pos(x, y, profilePlaceholder.width(), profilePlaceholder.height());
    profile->render(painter, pos);

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43046875

复制
相关文章
图表的标签显示设置
腾讯云商业智能分析产品由北京永洪商智科技有限公司提供,永洪BI-一站式大数据分析平台 图表标签设置是编辑报告中常见的操作,这里说一下图表标签设置的常见问题。图表标签显示设置具有一定的通用性,这里以柱
腾讯云商业智能分析团队
2017/08/28
2.8K0
图表的标签显示设置
Excel图表技巧07:创建滑动显示的图表
下图1是我在chandoo.org上看到的一个图表技巧。很有趣的图表显示方式,你能想到吗?
fanjy
2021/01/20
1.5K0
Excel图表技巧07:创建滑动显示的图表
layui单选框未显示的问题
一开始还没导入idea的时候,单纯点击一个网页是有显示出来的,当我把这个带有单选框的网页放到idea的项目中去的时候,发现单选框没显示出来。 1.首先在确认js.css等东西有导入,和之前的网页也没有什么区别 2.网上查询之后, 解释:有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。虽然我们没有双向绑定机制, 但没有关系,你只需要执行 form.render(type, filter); 方法即可。
全栈程序员站长
2022/08/23
5.3K0
未保存的Office里的文件如何才能快速找回?
1、点击[文件] 2、点击[选项] 3、点击[保存] 4、点击[自动回复文件位置] 5、点击[复制] 6、点击[此电脑] 7、点击[此电脑] 8、点击[粘贴] 9、按<Enter>键
裴来凡
2022/05/28
1.1K0
未保存的Office里的文件如何才能快速找回?
Excel图表学习62: 高亮显示图表中的最大值
在绘制柱状图或者折线图时,如果能够高亮显示图表中的最大值,将会使图表更好地呈现数据,如下图1所示,表示西区的柱状颜色与其他不同,因为其代表的数值最大。
fanjy
2019/12/23
2.5K0
Excel小技巧78:恢复未保存的Excel工作簿
我们可能碰到过这样的情形,正在编辑Excel工作簿时,Excel突然崩溃了(例如Excel老半天都没有响应)或者电脑突然断电了,这让我们来不及保存工作簿。此时,如何恢复我们的成果?
fanjy
2021/03/12
2.1K0
OpenCV中图像的读取,显示与保存
相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite()
py3study
2020/01/19
2.9K0
c++ opencv保存图片
本人在做人脸采集的时候遇到了要用c++ opencv保存图片的问题,下面是方法,代码是抠出来的,由于是项目所以全部代码就不放出来了
全栈程序员站长
2022/07/02
1.9K0
Python+OpenCV的图像读取、显示、保存
一、图像的读取 图像的读取主要函数是cv2.imread()。 函数格式:Mat cv::imread (const String & filename, int flags = IMREAD_COLOR) 功能:读取图片文件。 参数: windows位图:后缀名为bmp JPEG文件:后缀名为jpeg/jpg JPEG2000:后缀名为jp2 便携式网络图像文件:后缀名为png TIFF文件:后缀名为tiff/tif 参数二是整型的flag,标志,默认值为IMREAD_COLOR,取值有如下几种: IMREAD_UNCHANGED:如果设置,则按原样返回加载的图像(带有Alpha通道,否则会被裁剪)。 IMREAD_GRAYSCALE:如果设置,总是将图像转换为单通道灰度图像读入。 IMREAD_COLOR:如果设置,总是将图像转换为3通道BGR彩色图像读入。 IMREAD_ANYDEPTH:如果设置,当输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位。 IMREAD_ANYCOLOR:如果设置,图像将以任何可能的颜色格式读取。 IMREAD_LOAD_GDAL:如果设置,总是使用GDAL驱动程序加载图像。 IMREAD_REDUCED_GRAYSCALE_2:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/2。 IMREAD_REDUCED_COLOR_2:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/2。 IMREAD_REDUCED_GRAYSCALE_4:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/4。 IMREAD_REDUCED_COLOR_4:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/4。 IMREAD_REDUCED_GRAYSCALE_8:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/8。 IMREAD_REDUCED_COLOR_8:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/8 常用的是前三种。因为flags是整型,所以传入数值也行: flags >0:等同于IMREAD_COLOR。 flags =0:等同于 IMREAD_GRAYSCALE。 flags <0: 等同于IMREAD_UNCHANGED。 通常是给1、0、-1,给其他整型也是可以的。 返回值:Mat类型。从opencv2开始,用于存放图像的数据类型就是Mat, 二、图像的显示 图像读取后,下一步就是再把图像显示出来,主要函数有:cv2.namedWindows()、cv2.imshow()。再另外再介绍三个函数cv2.waitKey()、cv2.destroyWindow()、cv2.destroyAllWindows()。 2.1 cv2.namedWindows函数介绍 void cv::namedWindow (const String & winname,int flags = WINDOW_AUTOSIZE ) 功能:创建一个窗口。 参数:参数一是winname,给创建的窗口起一个名字,以后通过这个名字调用该窗口;参数二整型的flags,定义窗口的属性,默认值是WINDOW_AUTOSIZE,其他取值如下所示: WINDOW_NORMAL:用户可以调整窗口大小(不受约束)/也可以使用将全屏窗口切换为正常大小。 WINDOW_AUTOSIZE:用户无法调整窗口大小,窗口大小随显示图像的大小而变化。 WINDOW_OPENGL:带有opengl支持的窗口。 WINDOW_FULLSCREEN:将窗口更改为全屏。 WINDOW_FREERATIO:不遵循图像的比例调整图像后在窗口显示 WINDOW_KEEPRATIO:根据图像的比例调整图像后在窗口中显示 2.2 cv2.imshow函数介绍 void cv::imshow (const String & winname, InputArray mat ) 功能:在指定窗口显示图像。 参数:参数一是窗口名;参数二设置为要显示的图像。 注意此函数之后应该跟随函数waitKey,指定窗口显示多少毫秒。 2.3 cv2.waitKey函数介绍 int cv::waitKey (int delay = 0) 功能:等待按键或延迟多少毫秒。 参数:整型的delay,默认值是0。设置为0表示永久等待按键,设置为非零,表示延迟delay毫秒。该函数仅在创建至少一个窗口并且窗口处于活动状态时才起作用。 2.4 cv2.destroyWind
菲宇
2019/11/12
3.7K0
python PIL 打开\显示\保存图像
使用python进行数字图片处理,还得安装Pillow包。虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。
狼啸风云
2020/10/28
3.5K0
python PIL 打开\显示\保存图像
echart 图表动态的显示拐点为空心 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
2.1K0
echart 图表动态的显示拐点为空心
                                                                            原
C++中使用pytorch保存的tensor
最近在学习Libtorch——即Pytorch的C++版本,需要使用 Pytorch 导出的 tensor 以便对模型进行 debug。下面是转换代码,总体原理是将 tensor 转换为二进制数据,再在 C++ 里面读入。
王云峰
2023/10/21
7110
从网络下载图片,保存,并用 UIImageView 从保存中显示
//从网络下载图片 -(UIImage ) getImageFromURL:(NSString )fileURL { NSLog(@"执行图片下载函数"); UIImage * result; NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]]; result = [UIImage imageWithData:data]; return result; } //将所下载的图片保存到本地
用户8671053
2021/10/29
6570
echars 图表横轴刻度标签竖着显示
如下图所示,我们将echars 图表的横轴刻度标签旋转个角度,主要通过rotate 这个属性。
啦啦啦啦
2023/02/11
1.1K0
echars 图表横轴刻度标签竖着显示
Excel图表学习51: 根据选择高亮显示图表系列数据点
本文分享一个动态图表示例,效果如下图1所示。当按下工作表中不同的按钮时,图表会自动更新,高亮显示相应数据系列的数据点。
fanjy
2019/08/23
4K0
Excel图表学习51: 根据选择高亮显示图表系列数据点
【python-opencv】读取、显示、保存视频
要捕获视频,你需要创建一个 VideoCapture 对象。它的参数可以是设备索引或视频文件的名称。设备索引就是指定哪个摄像头的数字。正常情况下,一个摄像头会被连接(就像我的情况一样)。所以我简单地传0(或-1)。你可以通过传递1来选择第二个相机,以此类推。在此之后,你可以逐帧捕获。但是在最后,不要忘记释放俘虏。
西西嘛呦
2020/08/26
8K0
使用图表显示数据趋势
有时候,在用图表表现数据时,给图表添加一些元素可能会显得更清晰。例如,在比较预算和实际情况时,可以添加一些趋势数据,并在图表中呈现。如下图1所示。
fanjy
2022/11/16
8000
使用图表显示数据趋势
点击加载更多

相似问题

如何向图表(QtChart)添加数据?

11

将图表保存到png时未显示的条

12

图表未显示

116

Powerpoint图表数据未保存

114

高亮图表未显示数据图表

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文