PyQt5应用程序在Mac上的statusBar中显示不正确的特殊字符

时间:2018-03-21 01:32:04

标签: python macos pyqt

背景信息:

使用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中显示它。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在这里回答我自己的问题,结果证明我真的很蠢。字符/ \ : * ? " < > |不能用于文件名。出于某种原因,我的电脑曾经允许我把它们放在我的文件名中。可以找到更多信息here