如果在另一台电脑(pyinstaller)上运行.exe,PySimpleGUI个性化图标会消失

问题描述 投票:0回答:3

我没有发现任何类似我的问题的内容已经发布。

我使用 PySimpleGUI 做了一个应用程序,为了实现 .exe,我使用了 pyinstaller 并使用了 --icon 命令,同时使用了本地的图像 .ico 地址和简单的 icon_name.ico 但问题是,如果我在myPC 我可以在应用程序的每个窗口上看到正确的图标,而不是如果我在另一台 PC 上导出 .exe PySimpleGUI 会显示其原始图标。

这件事发生在其他人身上吗?您是如何解决这个问题的?

我想直接写信给 PySimpleGUI 公司,但我没有找到任何可以写信的联系人。

pyinstaller pysimplegui python-3.11
3个回答
1
投票

导入脚本后,使用:

sg.set_global_icon(icon_file_name.ico)

并记住将图标文件包含到“dist”文件夹中。

这样,当您在其他PC上执行该文件时,它就会完美运行,在软件的每个窗口上显示设置的图标。


0
投票

您的第二台电脑上也有 .ico 文件吗? 你是如何制作.exe文件的?

pyinstaller.exe --onefile --windowed --icon=app.ico app.py

0
投票

如果您在任务栏上看到默认的 PySimpleGUI 图标,那么您没有在 PySimpleGUI 程序中设置它。

此示例设置了一个将用于所有窗口的图标,包括用户创建的和预先制作的,如弹出窗口。

import PySimpleGUI as sg


def main():
    sg.set_global_icon(icon())

    sg.popup_scrolled('A popup', non_blocking=True)
    sg.popup('Another popup')


def icon():
    return b'iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAJsElEQVR4nO2cX2zT1xXHv+dnOzFNIKat6BCaYgYMBO1mNK2q2hRcOyMCCqQPUOjDmk572MM0Mk2VphE6a8v2Mm0D7a3rQ6pJXRM2xSXACqTBLus0bVUJm1K1pYGk27oONnAWkzixfc8eHBf7Zzu2f76/G7e7n7ffn3vOiU5+937v+R3/AI1Go9FoNBqNRqPRaDQajUaj0Wg0mk83tNQBlIK7fB7Mxb9YcIFoil66Mqo+IjXUTUL40PrtYOEHkx9gHwBPmSGjACKAEaH+91+xNTiFLGlC+NC6pyHQCbAf5ROwGDEQjsG94jj1jcZkxLZUKE8IP7XBByEOg7kTtSWhGJ/4xChNCB/c5AXPX1PgagIGfZt+PR5W4EsqhlJvNN+pyJMXggf54Lo+Rf6koTYhgvxK/X0CUZsQ8D61/hBR7K9mlCWED63rVOXrY9zLw7mHPaeDjx89teNLyuOoAnVPiIBfma8Ml81KiwR/jTn1Zs9Q8NiPXu1YbXcAPx4O3lPtGIVTluLpykBf7uEA73cwqGMhlsOzyeSVnqHgYWaWqjR7Twdae4aCPzh6MnBtZg5frna8EtmrUO7eweHYmltiee5U8DHBPFLkzndB9JPmRvrNd78yPGXFVehM+0NpwTuYuQPAwwunE717RpZVa8tpJYCqoflOsBJPC/4waa53MXhXibs3gvmFeIJf6BkK/p4I52EY0UYHXe3pOPe33BtDr3bcnRbiAWaxCcwbwdgIUFsqLVYUsVss+WVRkxBBfqjNSMR8hhk7y4/jNma0IZ1GIg30DAUAYBKgD8FYl0omVxUZUzwC4HfVxZxBTUJUrx+EcO5h71BgTQLYYtFaK8Ct1U7ujcCgFWe2L+pLIncbl0dyD+eAPSrdE/Bez56Rf1gZa7/KUi13iaJmucuoZLqSB4MsTVeAEtmrerricO5haGx/A0DtSmOAccbySJlhmOGDm7wAvHb6KIAckdzD1LWb2wC+S2EA887PeSJlbyuBvU+Iuurugr9CuYvSctcuzoW2nJi3OtjehCiv7hbKXapI7kqMgKzJ3Sw2ryFLL3cZ2KQyhEbmmt7v25aQupC7REr/IQh4x6rczWLfE1IPclfxdMU1TleArVNWPchd7FAaA8iy3M1iS+lkobrrLXsjUXRhRCTfAPkA9gIobJQracuRZyN1NeYHuKHi8TVDM861d79eqxV7alnFq7tTAEVACMMwRivpPsx0L077wegE89Ol/RWTu0Kx3OXhWuRuFnsScqe6OwWiMEB99PL7kWrNLKwJYQBh7vJ1I/HfbjC6AbSY7iywTeCdaiv+ta8fgJ3VXqJn6OXxPmnmMskJcZfvWEFiild3Py/LdyU0AkMy7NRNb2+1ZMoyyT4wb6f+q3l/x9GhwDcZ+IWqWIjx9g/3jlgt7+eh6H3IHVwDcZ8gaiUBH8AeEHx5NzBFiDgGIJo80Dxayg69/M4EAD8fXO83X1Ne3SXr1V0ztj8h7sFZbzqZ3sfMfgZ1VjeaY2AKk4NfTO3P3/SVIjS2vyF19ea0UoXlcAZ7d52z9MrWjC1PSDYJgtGdnE97M2et5J48IHSxoC5Hf3zCAELJJ5tfXGxEauJmQLXc/cLOlqgsa1I3hs4T035n//Rgcj59TTCOQW7p3SuAPmd//JLzxLS/ZAxpvg7QBxL9LgqBzx6gE2lZ9qQmhAV1VT8tVekD8LGgC87++M89g+wxXw/tHXnL6Wh4gCi/L8suCNQv155EHP3TtwDyyLS5GAbhmeSB5r5S14+eCj7KzCEAAZl+CXiPiZ53uhy/CnWcuy7ZthxcA3GfYFySZa8inw2OtYknlk2Uu+/omfatLMSzYOwF0GTR3UcgnHAaxkuhXcN/tGijLNIS4uyfDjHo+7LslYOAy6knm3255zjifpT8iYuLjXvuVPAxFmhn4kcArAewpsSt42C6QoS/MOF87+OvDcuJfHEkJiR+iWHaU9gIEY6nDjR3557jaOM0gItwOL5ObTMfVmqr5+yOtc5kanWajGl3I18/0v7av2THWylSEuIZZM/0/O1bMmxVikHYmrtx5ItuPwRfWDiMg40jaL3veVo7kbDDP7/RvIoeiUtdPwBJKut28nanDDuVw1MFu3jBu3OOmkHiOD74aJKj7iN8sWWlFK/RFRs44v4eR91/Rir5Sxk2zUjZGApW/dsPChecYuwsfN55FYBeiEQvR90jYDoLg4Zp28xb5Tzwn5o+g7n0Jgg8BPCDYHoQmFuT4+Mbtf0NxZG0U+d9KuuUBiGSuxPj6LLPAqJMcY8DIA6AAY42JsCYBNEkgL8D+CeAezIJpNVg3ozZVH6Jn0zFfIdDSnXXTM0JWZC7HgmxVEyTqykcyz1BYneVzfVuEDYCvLHwElfyv/V2NaKhGmpeQzjzAQBlEHA59gTF8oOA6mY4adVdMxIWdbWtNkB+MwOPbW4AEFQbQ+3NDKWoKSGeQfao3HsAAJFpQb81vh2Awt5dzGDbHmnVXTM1JaQu5G5a+XR1niRWd83UlJC6kbtqsW39AGpeQ9Q2wxmU/2UG/sOyNRm1pBCXccpO85YT4hqI+1SW2oGM3M07kRSdKv2DMUYPz9bUu1sOywlRL3c5WiB3oXj9kNC7W44apizFneWcv34syF3FP1WT111SCksJWQq5C8P0ZZ+b4wEACpsZ7JW7WSwlRLncZUwWyF3Vu3PGOTvlbhZLtazF5S5PETAKolEwxxjGKBkilr1KTF5m9oLgY4YfoJbStrKDinz3StCugoKfnUhshlsMi8XF/OouEb9CgiKORke4knfcubgG4j4Gupi5q3RyTOtHdMUGYG5dtVHXhItOq3BTdc0828xA4CgR9TW5msJF1I8lXAPxLiEQAqE19/zyhqaVuT44suxbIHFchs+KYIyRf+5+Fa4sPSG53R4xicEstPT0ZRom0A1QS1G5S4p/6mzAtmKimbrtfncPznpT86k+YgonDzYfy57nsc0N+Pf4NFQqLAcFqC1xofyNtVO3CcniGWRP3nT1+l27wWlbyxcmZrBt7woVCgtQ/lXS6il8GaV4ulIkd7PUfUIKIJbSQVIxhn0vo4q6U+lMBrQt8RTY+I4yh4ahRO5+7E6lM1mQf/ZncGEDgJO2OGD6D4CfAq7NdjUzlKLuF/Vy8BvN9yOVehbgr9ZmiW4AOAkH/5ba5pTsyotGsVSOZcMXW1ZCzO8EcTsEdoH4vtJ30y0A7yLzidjLYGOYtt/+q6pYF+NTkxAz/Obye5FIe8GiOXOGZiH4Ou5dfoO23IgvbXQajUaj0Wg0Go1Go9FoNBqNRqPRaDT/v/wPcDuLTW8DJ2oAAAAASUVORK5CYII='


main()

在任务栏上我看到:

创建的 2 个窗口如下所示:

它们都使用经过 Base64 编码并放入代码中的 PNG 图像。您可以使用 psgresizer 程序轻松完成此操作。

© www.soinside.com 2019 - 2024. All rights reserved.