Python 为什么PyQt效应不';没有QMainWindow就不能工作?
我需要创建简单的模糊文本,发现最简单的实现失败了。。就是不明白为什么?最简单的模式是:Python 为什么PyQt效应不';没有QMainWindow就不能工作?,python,pyqt,Python,Pyqt,我需要创建简单的模糊文本,发现最简单的实现失败了。。就是不明白为什么?最简单的模式是: from PyQt4 import QtGui import sys app = QtGui.QApplication(sys.argv) lbl = QtGui.QLabel() lbl.setFont(QtGui.QFont('Arial', 100)) lbl.setText('Hello, World!') effect = QtGui.QGraphicsBlurEffect() effect.
from PyQt4 import QtGui
import sys
app = QtGui.QApplication(sys.argv)
lbl = QtGui.QLabel()
lbl.setFont(QtGui.QFont('Arial', 100))
lbl.setText('Hello, World!')
effect = QtGui.QGraphicsBlurEffect()
effect.setBlurRadius(20)
lbl.setGraphicsEffect(effect)
lbl.show()
sys.exit(app.exec_())
但这只会产生黑色标签:
只有在使用QMainWindow时,它才能按预期工作:
from PyQt4 import QtGui
import sys
app = QtGui.QApplication(sys.argv)
win = QtGui.QMainWindow()
lbl = QtGui.QLabel()
win.setCentralWidget(lbl)
lbl.setFont(QtGui.QFont('Arial', 100))
lbl.setText('Hello, World!')
effect = QtGui.QGraphicsBlurEffect(lbl)
effect.setBlurRadius(20)
lbl.setGraphicsEffect(effect)
win.show()
sys.exit(app.exec_())
结果很好:
区别是什么?第一个示例在Linux上工作(Python3/PyQt4和Python2/PySide)。它给出了与第二个例子相同的东西。@tmoreau-hmm。。那么这只是windows的问题。至少windows 7 x64第一个示例在Linux上工作(Python3/PyQt4和Python2/PySide)。它给出了与第二个例子相同的东西。@tmoreau-hmm。。那么这只是windows的问题。至少windows 7 x64