pyinstaller“无法解析样式表”
Posted
技术标签:
【中文标题】pyinstaller“无法解析样式表”【英文标题】:pyinstaller "could not parse stylesheet" 【发布时间】:2016-07-22 09:56:17 【问题描述】:我正在使用 pyQt 和 pyInstaller 构建一个小程序。 我尝试将背景图片添加到我的 QMainWindow:
class pyPrimaMainWindow(QMainWindow):
def __init__(self):
...do some stuff...
self.setWindowIcon(QIcon(os.path.join(self.py_prima.resource_path(), "TH.ico"))) # <- this works
self.setStyleSheet("QMainWindowborder-image: url(0);background-size:100%;".format(os.path.join(self.py_prima.resource_path(), "bg.png")))
resource_path() 方法如下所示:
def resource_path(self):
""" Get absolute path to resource, works for dev and for PyInstaller """
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = getattr(sys, '_MEIPASS', "C:/Users/Tobias/eclipse/workspace/PyPrima/data/")
# except Exception:
# base_path =
print(base_path)
return base_path
它是从 pyinstaller wiki 复制的,返回一个绝对路径并适用于其他图片/图标。 但是,如果我使用 pyInstaller 构建可执行文件,程序运行良好,但缺少背景图像。相反,控制台输出
"could not parse stylesheet of object ..."
如果我运行 python 文件,一切正常...
对此有什么想法吗?
谢谢!
【问题讨论】:
【参考方案1】:我会回答我自己的问题,以防其他人偶然发现同样的问题。
文件分隔符错误... 修复它
bgpath = os.path.join(self.py_prima.resource_path(), "bg.png")
bgpath = bgpath.replace("\\", "/")
self.setStyleSheet("QMainWindowborder-image: url(0);background-size: 100%;".format(
bgpath))
【讨论】:
以上是关于pyinstaller“无法解析样式表”的主要内容,如果未能解决你的问题,请参考以下文章