• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何使QML视图的透明

qt 来源:CN.Hu 11次浏览

有一个QML文件中像这样的特定区域:如何使QML视图的透明

Item { 
    width: 800 
    height: 600 

    Image { 
     id: background 
     width: 800 
     height: 600 
     source: "qrc:/resorces/background.png" 
    } 

    Rectangle { 
     id: transframe 
     x: 500 
     y: 200 
     width: 200 
     height: 100 
    } 

} 

如何使transframe透明的区域,然后我可以看到背景下的图形。


===========解决方案如下:

该OpacityMask是你在找什么。

例子:

Rectangle { 
     width: 800; height: 600 
     color: 'red' 

     Image { 
      id: background 
      width: 800; height: 600 
      source: "qrc:/resorces/background.png" 
      visible: false 
     } 
     Item { 
      id: transframe 
      width: 800; height: 600 
      visible: false 
      Rectangle { 
       x: 500; y: 200; width: 200; height: 100 
      } 
     } 
     OpacityMask { // don't forget to import QtGraphicalEffects 
      anchors.fill: background 
      source: background 
      maskSource: transframe 
      invert: true 
     } 
    } 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)