鱼C论坛

 找回密码
 立即注册
查看: 2603|回复: 3

[已解决]tkinter 题目3 ---- iconbitmap的相对路径

[复制链接]
发表于 2023-5-18 08:58:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
root=Tk()
root.iconbitmap("u.ico")
mainloop()

运行后,报错 TclError: bitmap "u.ico" not defined

1、python 安装于 c://Users//高衍龙//AppData//Local//Programs//Python//Python310

2、u.ico 文件保存于 c://Users//高衍龙//AppData//Local//Programs//Python//Python310//Lib//tkinter//u.ico

3、程序中第3句如果使用绝对路径的话,就运行正常 ,如 root.iconbitmap('c://Users//高衍龙//AppData//Local//Programs//Python//Python310//Lib//tkinter//u.ico')


最佳答案
2023-5-18 17:03:28
dragov 发表于 2023-5-18 09:03
按照您提供的示例代码,运行报错 !

相对路径指的是相对于你的项目的路径,而不是你安装python的路径
你应该将你的ico图片的路径跟你的项目路径放在一起
也就是把图片跟这段代码
from tkinter import *
root=Tk()
root.iconbitmap("u.ico")
mainloop()

的文件放在一个目录上
像这样
QQ截图20230518165857.png

这样就运行正常啦

QQ截图20230518170231.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-18 08:58:45 | 显示全部楼层
在Tkinter中,iconbitmap()方法用于设置窗口的图标。当使用相对路径时,文件的查找路径是相对于当前工作目录的。因此,如果要使用相对路径来设置图标,需要将相对路径转换为基于当前工作目录的绝对路径。可以使用os模块中的os.path.abspath()方法来实现。

以下是代码示例:
import osfrom tkinter import *root = Tk()# 获取当前脚本所在目录的绝对路径script_dir = os.path.dirname(os.path.abspath(__file__))# 拼接图标文件的相对路径icon_path = os.path.join(script_dir, "u.ico")# 设置图标root.iconbitmap(icon_path)mainloop()
在上述代码中,os.path.abspath(__file__)返回当前脚本的绝对路径,os.path.dirname()方法返回该路径的目录部分,然后使用os.path.join()方法将图标文件的相对路径拼接到该目录中,得到完整的图标文件路径。最后,将该路径传递给iconbitmap()方法即可设置图标。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-18 09:03:53 | 显示全部楼层
isdkz 发表于 2023-5-18 08:58
在Tkinter中,iconbitmap()方法用于设置窗口的图标。当使用相对路径时,文件的查找路径是相对于当前工作目 ...

按照您提供的示例代码,运行报错 !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-18 17:03:28 | 显示全部楼层    本楼为最佳答案   
dragov 发表于 2023-5-18 09:03
按照您提供的示例代码,运行报错 !

相对路径指的是相对于你的项目的路径,而不是你安装python的路径
你应该将你的ico图片的路径跟你的项目路径放在一起
也就是把图片跟这段代码
from tkinter import *
root=Tk()
root.iconbitmap("u.ico")
mainloop()

的文件放在一个目录上
像这样
QQ截图20230518165857.png

这样就运行正常啦

QQ截图20230518170231.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 02:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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