Qt QGraphicsDropShadowEffect没有显示


问题内容

我正在创建一个my_widget继承自的自定义窗口小部件QWidget

在这里,我有一个标签要应用,QGraphicsDropShadowEffect但是由于看不到任何阴影,因此似乎无法使用。

我的代码在Python中,它是:

eff = QGraphicsDropShadowEffect()
self.my_widget_label.setGraphicsEffect(eff)

我尝试对该代码进行各种更改都无济于事。

在Google上进行直通搜索后,我遇到了许多类似的问题,但都没有答案。

可能是什么原因?如何获得阴影?


问题答案:

看看这是否适合您:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import sip
sip.setapi('QString', 2)
sip.setapi('QVariant', 2)

from PyQt4.QtCore import *
from PyQt4.QtGui import *

class testShadow(QWidget):
    def __init__(self, parent=None):
        super(testShadow, self).__init__(parent)

        self.resize(94, 35)
        self.verticalLayout = QVBoxLayout(self)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QLabel(self)
        self.label.setText("Text Label")

        self.shadow = QGraphicsDropShadowEffect(self)
        self.shadow.setBlurRadius(5)
        self.label.setGraphicsEffect(self.shadow)

        self.verticalLayout.addWidget(self.label)

if __name__ == "__main__":
    import  sys

    app = QApplication(sys.argv)
    main = testShadow()
    main.show()
    sys.exit(app.exec_())

图片