使用tkinter创建带有图标的菜单栏


Tkinter 的默认菜单外观较为简单,可以通过自定义和添加图标,让菜单显示更好看。

效果

在这里插入图片描述

代码

import tkinter as tk
from tkinter import Menu, PhotoImage

# 创建主窗口
root = tk.Tk()
root.title("Tkinter 菜单栏图标示例")
root.geometry("400x300")

# 加载图标
new_icon = PhotoImage(file="new.png")
open_icon = PhotoImage(file="open.png")
exit_icon = PhotoImage(file="exit.png")

# 创建菜单栏
menu_bar = Menu(root)
root.config(menu=menu_bar)

# 添加文件菜单
file_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="文件", menu=file_menu)

# 添加带图标的菜单项
file_menu.add_command(label="新建", image=new_icon, compound='left')
file_menu.add_command(label="打开", image=open_icon, compound='left')
file_menu.add_separator()
file_menu.add_command(label="退出", image=exit_icon, compound='left', command=root.quit)

# 运行主循环
root.mainloop()

代码解析

创建主窗口

root = tk.Tk()
root.title("Tkinter 菜单栏图标示例")
root.geometry("400x300")

加载图标

new_icon = PhotoImage(file="new.png")
open_icon = PhotoImage(file="open.png")
exit_icon = PhotoImage(file="exit.png")

创建菜单栏

menu_bar = Menu(root)
root.config(menu=menu_bar)

添加文件菜单

file_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="文件", menu=file_menu)

添加带图标的菜单项

file_menu.add_command(label="新建", image=new_icon, compound='left')
file_menu.add_command(label="打开", image=open_icon, compound='left')
file_menu.add_separator()
file_menu.add_command(label="退出", image=exit_icon, compound='left', command=root.quit)

相关推荐

  1. 使用 Python Tkinter创建 GUI 应用程序

    2024-06-16 05:44:05       11 阅读
  2. 顺序表菜单实现

    2024-06-16 05:44:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 05:44:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 05:44:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 05:44:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 05:44:05       18 阅读

热门阅读

  1. C#_构造函数 new this 析构函数

    2024-06-16 05:44:05       9 阅读
  2. C++:特殊类

    2024-06-16 05:44:05       5 阅读
  3. c++_0基础_讲解3 输入 输出

    2024-06-16 05:44:05       6 阅读
  4. vuex是什么?如何使用?使用他的功能场景?

    2024-06-16 05:44:05       8 阅读
  5. perl语言入门学习

    2024-06-16 05:44:05       6 阅读
  6. 新增套餐——后端

    2024-06-16 05:44:05       6 阅读
  7. 向mysql发送一个请求的时候,mysql到底做了什么

    2024-06-16 05:44:05       8 阅读
  8. 什么是 Linux ?(Linux)

    2024-06-16 05:44:05       7 阅读