Css PyQT-函数更改小部件的背景图像只是清空背景,而不是替换背景。。。?

Css PyQT-函数更改小部件的背景图像只是清空背景,而不是替换背景。。。?,css,function,pyqt,background-image,Css,Function,Pyqt,Background Image,我有这个,但它不能正常工作: def changebackground(self): fname = QtGui.QFileDialog.getOpenFileName(self, 'Select background image', '/home/stu/Desktop/python') print fname self.results.setStyleSheet("background-image: url(fname); background-repeat: no-repeat; b

我有这个,但它不能正常工作:

def changebackground(self):
 fname = QtGui.QFileDialog.getOpenFileName(self, 'Select background image', '/home/stu/Desktop/python')
 print fname
 self.results.setStyleSheet("background-image: url(fname); background-repeat: no-repeat; background-position: center;")

当通过按钮调用函数时,会将正确的fname打印到控制台,但是结果小部件(文本编辑框)的背景图像变为空白,并丢失了我启动它时使用的背景图像。它不显示新选择的背景

样式表字符串有问题! 因为fname是一个变量名,您将其包含在两个“”中 如果您直接向其写入“fname”,可以将其更改为:

self.results.setStyleSheet("background-image: url(" + fname + "); background-repeat: no-repeat; background-position: center;")

而且它应该会起作用。

非常感谢您,它起作用了!-整天让我发疯,找不到任何关于将变量传递给小部件参数的文档。:)