吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1657|回复: 23
收起左侧

[已解决] Python大佬们看看打包EXE时图标的问题

[复制链接]
zoenbo 发表于 2021-5-17 11:39
本帖最后由 zoenbo 于 2021-5-17 18:41 编辑

把py打包EXE后,标题栏的图标始终不显示百度过各种解决方法,没一个能解决的。主要就是想把ICO和EXE打包在一起不是调用也用过改spec也不好使~求助解决方法~

[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
import wx

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='Title', size=(400, 210),name='frame',style=541072384)
        icon = wx.Icon(r'D:\Downloads\1.ico')
        self.SetIcon(icon)
        self.启动窗口 = wx.Panel(self)
        self.Centre()
        self.编辑框1 = wx.TextCtrl(self.启动窗口,size=(350, 143),pos=(15, 14),value='夏天来了,有点热',name='text',style=1073741856)

class myApp(wx.App):
    def  OnInit(self):
        self.frame = Frame()
        self.frame.Show(True)
        return True

if __name__ == '__main__':
    app = myApp()
    app.MainLoop()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ReLoading 发表于 2021-5-17 17:28
本帖最后由 ReLoading 于 2021-5-17 17:32 编辑
zoenbo 发表于 2021-5-17 17:02
大佬有没有直接打包打进EXE的方法呢?调用网上的没有心仪的图标,没网情况下可能会弹出错误提示吧

### 加个判断的事儿,捕获一下异常 避免网络出错,剩下的自由发挥
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
import wx,os
from requests import get
# locale.setlocale(locale.LC_ALL, ('de_CH', 'GBK'))

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='Title', size=(400, 210),name='frame',style=541072384)
        # 如果图标文件被下载到硬盘路径下,除非用户找到并删除
        path = 'logo.ico'   #这里可以定义绝对路径 例如 c盘
        if not os._exists(path):#判断图标文件是否存在,不存在就下载
            try: #捕捉网络IO错误,网络资源不存在或者没有网络不会异常;
                _bin = get('https://www.52pojie.cn/favicon.ico').content
                with open(path,'wb') as F:
                    F.write(_bin)
            except Exception as E:
                print(E.args)
        else:#判断图标文件是否存在,存在则设置图标(避免异常)
            icon = wx.Icon(path)
            self.SetIcon(icon)
        self.启动窗口 = wx.Panel(self)
        self.Centre()
        self.编辑框1 = wx.TextCtrl(self.启动窗口,size=(350, 143),pos=(15, 14),value='夏天来了,有点热',name='text',style=1073741856)

class myApp(wx.App):
    def  OnInit(self):
        self.frame = Frame()
        self.frame.Show(True)
        return True

if __name__ == '__main__':
    app = myApp()
    app.MainLoop()
鸭鸭鸭? 发表于 2021-5-17 11:57
文件路径建议相对路径,打包时用命令将图标文件一并打包进去,具体wx我没用过,tkinter是这样的
 楼主| zoenbo 发表于 2021-5-17 12:05
鸭鸭鸭? 发表于 2021-5-17 11:57
文件路径建议相对路径,打包时用命令将图标文件一并打包进去,具体wx我没用过,tkinter是这样的

打包时我是按相对路径的,这个例子忘改了。就是相对路径也不好使。不用wx和pyQT好像直接打包就有图标.
昨日黎明 发表于 2021-5-17 12:07
如果一点问题都没有可能是因为图标被覆盖了,实际上窗体都是绘制出来的,可能会存在覆盖
C哥888 发表于 2021-5-17 12:13
鸭鸭鸭? 发表于 2021-5-17 11:57
文件路径建议相对路径,打包时用命令将图标文件一并打包进去,具体wx我没用过,tkinter是这样的

图形化界面,建议你去学pyside2,千万不要去学tkinter。
超人强 发表于 2021-5-17 12:48

pyinstaller -F  -i run.ico run.py
 楼主| zoenbo 发表于 2021-5-17 13:02
超人强 发表于 2021-5-17 12:48
pyinstaller -F  -i run.ico run.py

我用的就是这个,就是标题栏ico不能显示
Gaho2002 发表于 2021-5-17 13:03
前来观摩
 楼主| zoenbo 发表于 2021-5-17 13:03
昨日黎明 发表于 2021-5-17 12:07
如果一点问题都没有可能是因为图标被覆盖了,实际上窗体都是绘制出来的,可能会存在覆盖

应该是就是没打包进去,大部分教程都是说路径问题
q546624527 发表于 2021-5-17 13:16
把图标文件转换为二进制文件,然后导入
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表