我正在创建一个继承自QWidget的自定义小部件my_widget。
在这里,我有一个标签,我想要应用QGraphicsDropShadowEffect,但它似乎不起作用,因为我没有看到任何阴影。
我的代码是用Python编写的,它是:
eff = QGraphicsDropShadowEffect()
self.my_widget_label.setGraphicsEffect(eff)我尝试了对此代码进行各种修改,但都无济于事。
在谷歌上做了彻底的搜索后,我遇到了许多类似的问题,但都没有答案。
可能的原因是什么?我怎样才能得到阴影?
发布于 2012-12-24 11:24:16
看看这对你是否有效:
#!/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_())

https://stackoverflow.com/questions/13996130
复制相似问题