QT(数据可视化大屏)之 双层结构设计1

大屏是按照底层为地图,上层为数据展示设计,且底层的地图为铺满状态,上层为半透明状态,用两层widget进行设计,后来发现这样就无法选中地图,该方法行不通,这里记录一下该方法的实现,后边再想其他方法。(各路大佬可以指导一下这种情况用哪种方式好一些)

效果图:
在这里插入图片描述
QT实现:
在这里插入图片描述
底层填充了一个离线地图,上层将widget背景设置为透明,增加布局,在布局中各个区域中添加widget用于展示不同数据。

	wdDown = new QWidget();
    //底层只填充一个地图
    mapBaidu = new BaiduMap();
    layDown = new QGridLayout(wdDown);
    layDown->setColumnStretch(0,1);
    layDown->setRowStretch(0,1);
    layDown->addWidget(mapBaidu->map);
    wdDown->setLayout(layDown);
    //顶层进行数据展示
    wdUp = new QWidget(this);
    wdUp->setStyleSheet("background-color: rgb(255, 255, 255, 0);");
    QGridLayout *layUp = new QGridLayout(wdUp);
    layUp->setColumnStretch(0,1);
    layUp->setColumnStretch(1,1);
    layUp->setRowStretch(0,1);
    layUp->setRowStretch(1,1);
    QWidget* wd2Left = new QWidget();
    wd2Left->setStyleSheet("background-color: rgb(200, 0, 0, 80);");
    layUp->addWidget(wd2Left);
    wdUp->setLayout(layUp);

    QStackedLayout * sBoxLayout = new QStackedLayout(this);
    sBoxLayout->setStackingMode(QStackedLayout::StackAll);
    sBoxLayout->addWidget(wdDown);
    sBoxLayout->addWidget(wdUp);
    wdDown->stackUnder(wdUp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值