使用Pyinstaller可执行文件打开的PyQt对话框窗口未聚焦

时间:2019-02-19 14:33:07

标签: python pyqt5 pyinstaller

我有一个奇怪的问题。 我创建了一个PyQt5应用程序,并使用Pyinstaller创建了一个可执行文件。 这是我使用的命令:

pyinstaller nbfixer_decoupled.spec

这是nbfixer_decoupled.spec文件:

 -*- mode: python -*-
import sys
block_cipher = None


a = Analysis(['nbfixer_decoupled.py'],
             pathex=['/Users/peterpetocz/Desktop/NBFixer_app'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)

a.datas+=[('./login.properties','./login.properties','DATA'),('./status.properties','./status.properties','DATA'),('./signature.properties','./signature.properties','DATA')]

pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)


# Package the executable file into .app if on OS X
if sys.platform == 'darwin':
  exe = EXE(pyz,
            a.scripts,
            a.binaries,
            a.zipfiles,
            a.datas,
            name='NBFixer',
            debug=False,
            strip=False,
            upx=True,
            runtime_tmpdir=None,
            console=True,
            icon='nbfixer.icns')

if sys.platform == 'darwin':
   app = BUNDLE(exe,
                name='NBFixer.app',
                info_plist={
                  'NSHighResolutionCapable': 'True'
                },
                icon='nbfixer.icns')

coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='nbfixer_decoupled')

/ dist文件夹中的输出为2个文件:

Unix可执行文件和.app可执行文件。

当我启动unix可执行文件时,一切正常。

例如,当我启动.app可执行文件时,无法在输入字段中键入字符。即使单击输入字段,焦点似乎仍保留在“文件夹”窗口中。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

原来需要将console=True的值更改为False