您当前的位置: 首页 >  ar

龚建波

暂无认证

  • 7浏览

    0关注

    313博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

QtCharts:给QChartView添加背景图片

龚建波 发布时间:2019-08-06 14:48:13 ,浏览量:7

因为平时很少用QCharts,所以对一些样式自定义的设置不熟悉。本来想添加一个背景图片,结果发现只有setBackgroundBrush这种接口。百度一通之后,只找到个隐藏QChart背景的博客(https://blog.csdn.net/qq_40182127/article/details/82113267)。受到启发,自己一番折腾,总算把背景给设置出来了,原来也挺简单的。

我是参照示例的BarChart来修改的,

首先,给QChart类去掉背景渲染:

chart->setBackgroundVisible(false);

然后,给QChartView加上背景图的样式表就能显示图片了。

setStyleSheet(R"(QGraphicsView{ background-image:url(:/backimg.png);})");

下面是设置前后对比图(完整代码及工程文件链接在本文末尾):

(其实默认样式一般也足够了,不过有时候Ui会有特殊需求) 

这里有两个小插曲,一是我把图片url用绝对路径测试了下之后再改回来,居然设置无效(重新构建也不行),把生成的文件删了之后重新生成才正常了;第二个就是,我给QChartView设置样式表,如果填 “QChartView{}” 的话不生效,填他的父类 “QGraphicsView{}” 才有效了。

代码链接:https://github.com/gongjianbo/MyTestCode/tree/master/Qt/TestQt_20190806_QChartsBackground

主要代码:(参照示例的BarChart来修改)

//main.cpp
#include 
#include 
#include 
#include 
#include 
#include 
#include 

QT_CHARTS_USE_NAMESPACE

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

//![1]
    QBarSet *set0 = new QBarSet("Jane");
    QBarSet *set1 = new QBarSet("John");
    QBarSet *set2 = new QBarSet("Axel");
    QBarSet *set3 = new QBarSet("Mary");
    QBarSet *set4 = new QBarSet("Samantha");

    *set0             
关注
打赏
1655829268
查看更多评论
0.0546s