标签: qgraphicseffect

我可以将 Neumorphism 效果应用于 QWidget 吗?

虽然 Qt 提供了 QGraphicsDropShadowEffect,但没有可用的“ Neumorphism ”效果:

投影和新同态的比较

在 css 中有一个box-shadow属性(上图中就是这样做的),它可以有多种颜色,但 Qt 缺乏对该属性的支持,并且一次应用多个图形效果是不可能的。

这能做到吗?

pyqt pyqt4 pyqt5 qgraphicseffect

7
推荐指数
1
解决办法
1482
查看次数

PyQt - 将QGraphicsDropShadowEffect与多个小部件一起使用

我想使用QGraphicsDropShadowEffect在几个小部件上设置阴影,我想知道是否有更好的方法这样做,而不必为我想要使用它的每个实例反复编写相同的代码,如下面的示例所示.是否可以创建一个类或要调用的东西,以便我只需要设置setGraphicsEffect()小部件?我试图为它创建一些类,但我仍然只能让它们创建一个阴影.

import sys
from PyQt5.QtWidgets import QWidget, QHBoxLayout, \
    QGraphicsDropShadowEffect, QPushButton, QApplication, QComboBox


class MainWindow(QWidget):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        layout = QHBoxLayout()

        self.shadow = QGraphicsDropShadowEffect()
        self.shadow.setBlurRadius(5)
        self.shadow.setXOffset(3)
        self.shadow.setYOffset(3)

        self.shadow2 = QGraphicsDropShadowEffect()
        self.shadow2.setBlurRadius(5)
        self.shadow2.setXOffset(3)
        self.shadow2.setYOffset(3)

        self.btn = QPushButton("Button")
        self.btn.setGraphicsEffect(self.shadow)
        self.combo = QComboBox()
        self.combo.setGraphicsEffect(self.shadow2)

        layout.addWidget(self.btn)
        layout.addWidget(self.combo)
        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    app.exec_()
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt5 qgraphicseffect

3
推荐指数
1
解决办法
702
查看次数

标签 统计

pyqt ×2

pyqt5 ×2

qgraphicseffect ×2

pyqt4 ×1

python ×1