2

在 Python(win32 上的 3.6.5)、PyQt5(5.10.1)上处理 GUI,使用 cx_Freeze(5.1.1)。

有使用打印机的功能。py:

    def goPrinter(self):
        print("___goPrinter")
        printer = QtPrintSupport.QPrinter()
        print(printer)
        print(printer.printerName())
        print(QtPrintSupport.QPrinterInfo.availablePrinterNames())
        print("return")

当我运行py - script 时,打印机工作正常。

命令:

-__goPrinter

-PyQt5.QtPrintSupport.QPrinter 对象位于 0x02FF1EBO>

-Microsoft XPS 文档编写器

-['Microsoft XPS 文档编写器','传真']

-返回

当我运行exe文件时(在 cx-Freeze 之后),任何打印机都是不可见的。打印不起作用。

命令:

-__goPrinter

-PyQt5.QtPrintSupport.QPrinter 对象位于 0x02BB23B0>

-

-[]

-返回

用于创建 exe 的setup.py脚本:

    from cx_Freeze import setup, Executable

    executables = [Executable('KIWI_1105.py',
                      targetName='KIWIv17.exe',
                      icon='iconsN\capsule.ico',
                      shortcutName='KIWI',
                      shortcutDir='DesktopFolder'
    )]

    excludes = ['email', 'http', 'urllib', 'unittest']

    zip_include_packages = ['collections','distutils', 'encodings',
                            'importlib', 'logging', 'imageformats',
                            'platforms', 'PIL', 'pydoc_data', 'PyQt5', 'xml']

     include_files = ['iconsN', 'Atlas']

     options = {
               'build_exe': {
                   'excludes': excludes,
                   'zip_include_packages': zip_include_packages,
                   'include_files': include_files,
                   'include_msvcr': True,
                   'build_exe': 'KIWI',
               }
     }

     setup(name='KIWI App',
           author='23',
           version='17.1505',
           description='KIWI Viewer Application',
           executables=executables,
           options=options)
4

0 回答 0