背景信息:
使用PyQt5 5.10.1和PyInstaller 3.3.1在Mac上打包应用程序
问题:
我想说我在PyQt5应用中打开了一个名为file:1.mp3
的文件。当文件名显示在状态栏中时,代码如下:
def songChanged(self, media):
if not media.isNull():
url = media.canonicalUrl()
self.statusBar().showMessage(url.fileName())
状态栏显示文件名为file_1.mp3
(冒号替换为下划线)。其他特殊字符(例如ω
)会使应用程序崩溃。奇怪的是,当我从源代码运行.py脚本时,它不会发生,但当它被打包为.app可执行文件时。
我想要发生什么:
我想让应用程序的statusBar按原样显示文本,而不更改特殊字符。如果我打开file:1.mp3
,它应该在打包的应用程序的statusBar中显示它。我怎么能这样做?
答案 0 :(得分:0)
在这里回答我自己的问题,结果证明我真的很蠢。字符/ \ : * ? " < > |
不能用于文件名。出于某种原因,我的电脑曾经允许我把它们放在我的文件名中。可以找到更多信息here。