Pyinstaller生成应用程序后设计变得丑陋

时间:2019-06-08 22:01:11

标签: python macos pyqt pyqt5 pyinstaller

我在python + PyQt5上有一个应用程序,并且正在通过命令使用适用于MacOS的Pyinstaller构建它:

pyinstaller --windowed main.py

它在“区域”目录中创建一个“ main.app”文件,但随后出现问题:

应用变得丑陋!首先,当我在不编译的情况下运行它时,它将使用系统当前的外观。编译的应用程序总是很轻。 其次,抗藻化或相关的东西是完全错误的。线条难看,有些文字几乎看不清。截图。

Before compilation (light appearance)

After compilation (any appearance)

1 个答案:

答案 0 :(得分:2)

看起来这条斜线的来源是抗锯齿。从源启动时会自动将其打开(通过系统样式?),但对于已编译的版本,则必须手动将其打开:

qp = QtGui.QPainter()
qp.begin(self)
qp.setRenderHint(0x01) #have no idea why QtGui.QPainter.RenderHint.Antialiasing not working
qp.end()

编辑: 实际上,这确实是视网膜的问题。

info_plist={
    'NSPrincipleClass': 'NSApplication',
    'NSAppleScriptEnabled': False,
    'NSHighResolutionCapable': 'True'
     }

应添加到.spec文件中的应用调用中