首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用DropShadow在QML中创建Qt6效应?

如何用DropShadow在QML中创建Qt6效应?
EN

Stack Overflow用户
提问于 2021-02-10 21:15:04
回答 3查看 2.7K关注 0票数 3

Qt5中,使用DropShadow很容易。

但在Qt6中,模块QtGraphicalEffects被删除

Qt6中是否有任何技巧、解决方法或新方法来创建某个组件周围的阴影?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-11 21:00:14

正如你自己注意到的,Qt Graphical Effects移除(绝对)

以下模块已被删除,不打算进一步开发。

  • Qt图形效应
  • ..。

然而,Qt Graphical Effects与Qt6使用的新的QRhi (Qt呈现硬件接口)兼容。[1]

请注意,这并不意味着它将在稍后阶段包含在Qt 6中。[2]

不过,我希望从git的dev或QT5.15分支中使用DropShadow相对容易。

注意,它将作为Qt5 Compatibility API包含在Qt6.1中。(QT6.1的最终版本原计划在27.04.2021 [3]发布)

票数 6
EN

Stack Overflow用户

发布于 2021-09-08 17:33:38

Qt6 DropShadow

代码语言:javascript
复制
import Qt5Compat.GraphicalEffects
DropShadow {} 
票数 2
EN

Stack Overflow用户

发布于 2022-02-23 10:51:40

您可以手动将QtGraphicalEffects模块添加到Qt6中,然后在代码中使用DropShadow

通常,要在Qt 6中非正式地使用QtGraphicalEffects,请执行以下操作:

代码语言:javascript
复制
$ git clone git://code.qt.io/qt/qtgraphicaleffects.git
$ cd qtgraphicaleffects/
$ git checkout 59ab3e11433a5157aac0f3af7c0d7fe70a373373 & cd ..
$ ~/Qt/<VERSION>/gcc_64/bin/qmake qtgraphicaleffects
$ make
$ find qtgraphicaleffects/src/effects/ -maxdepth 1 -name \*.qml -exec cp {} qml/QtGraphicalEffects \;
$ cp -r qtgraphicaleffects/src/effects/private/ qml/QtGraphicalEffects
$ cp -r qml/QtGraphicalEffects ~/Qt/<VERSION>/gcc_64/qml/

这将获得模块源代码,直到还没有从存储库中完全删除。然后构建它,并将所需的文件复制到Qt安装目录中。

因此,要使用DropShadow组件,请添加

代码语言:javascript
复制
import QtGraphicalEffects 1.0

还可以在QML代码中使用以下组件:

  • BrightnessContrast
  • 染色
  • ColorOverlay
  • ConicalGradient
  • 去饱和酸盐
  • 驱替
  • DropShadow
  • FastBlur
  • FastGlow
  • GammaAdjust
  • 辉光
  • HueSaturation
  • LevelAdjust
  • LinearGradient
  • OpacityMask
  • RadialGradient
  • RectangularGlow
  • ThresholdMask
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66145143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档