当前位置: 首页 > 资讯 >

Day23 用python写UI-聊聊Menu

第一次压线发文耶,今天真的有点忙,到现在才发文。Menu就是功能表的表单,通常都会在介面的最上面,是很常见的工具喔~

♠♣今天的文章大纲♥♦

  • Menu基本参数
  • 建立menu
  • 建立下拉式menu
  • 分隔线
  • 建立popup menu

Menu基本参数

语法:Menu(master,options.…)

参数 内容
activebackground 当滑鼠移置此功能表清单时的背景色彩。
activeborderwidth 当被滑鼠选取时它的外框厚度,预设是1。
bd 所有功能表清单的外框厚度,预设是1。
bg 功能表清单未被选取时的背景色彩。
cursor 当功能表分离时,滑鼠在清单的外观。
disabledforeground 功能表清单是 DISABLED 时的颜色。
font 功能表清单文字的字型。
fg 功能表清单未被选取时的前景色彩。
image 功能表的图示。
tearoff 功能表上方的分隔线,这是一个虚线线,有分隔线时 tearoff 等於 True或 1,此时功能表清单从1位置开始放置,同时可以让功能表分离,分离方式是开启功能表後按一下分隔线。如果将 tearoff 设为False 或 0 时,此时不会显示分隔线,也就是功能表无法分离,但是功能表清单将从0位置开始存放。
add_cascade() 建立阶层式功能表,同时让此子功能清单与父功能表建立连结。
add_command() 增加功能表清单。
add_separator() 增加功能表清单的分隔线

建立menu

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x100')

mb=tk.Menu(root)
mb.add_command(label='Add')
mb.add_command(label='Save')
mb.add_command(label='Run')
mb.add_command(label='Help')

root.config(menu=mb)

root.mainloop()

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20211008/20140047RkZefbCbpm.png


建立下拉式menu

import tkinter as tk

root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x100')

filemenu=tk.Menu(root)
root.config(menu=filemenu)
mb1=tk.Menu(filemenu)
mb2=tk.Menu(filemenu)

mb1.add_command(label='Add')
mb1.add_command(label='Save')
mb2.add_command(label='Run')
mb2.add_command(label='Help')

filemenu.add_cascade(label='File',menu=mb1)
filemenu.add_cascade(label='Edit',menu=mb2)

root.mainloop()

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20211008/20140047tyvzzJTKKK.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140047x7qqhjiCMP.png


分隔线

mb1.add_command(label='Add')
mb1.add_separator()
mb1.add_command(label='Save')
mb2.add_command(label='Run')
mb2.add_separator()
mb2.add_command(label='Help')

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20211008/201400471UBirtp0Q2.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140047w67xsZw3at.png


建立popup menu

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x300')

def Tool():
    root.iconify()
def popupmenu(event):
    pm.post(event.x_root,event.y_root)

pm=tk.Menu(root,tearoff=False)
pm.add_command(label='Tool',command=Tool)
pm.add_command(label='Exit',command=root.destroy)

root.bind("<Button-3>",popupmenu)

root.mainloop()

执行结果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20211008/20140047TpqptdNO9T.png


其实Menu就是很常见的东西啦,会需要跟其他控见做和才能发挥它最大的功效,所以不只要会这个工具,也要能融合前面所学的才行~
/images/emoticon/emoticon35.gif


相关文章:

  • Day 13 Section Summary
  • Day26 Redis架构实战-Redis丛集架构/Gossip协议
  • 周末雨会(四):自定义资料类别 Defined Data Class
  • DAY30 献给看到这里的你
  • Day29 - 【概念篇】用Keycloak学习JWT权杖格式 - JWT权杖格式介绍(1)
  • Day.29 部署环境 - 监控系统状态(Percona Monitoring and Management)
  • RWD模版
  • 第45天~
  • 新新新手阅读 Angular 文件 - Add Services - Day08
  • 哈罗,世界!
  • Day31 参加职训(机器学习与资料分析工程师培训班),tf.keras & Pytorch
  • Java 关於发送 Https 请求 (HttpsURLConnection 和 HttpURLConnection)
  • DAY16支持向量机演算法(续五)
  • Day 8:IAM role、Policy建立
  • 【D27】熟练一下厨具-bid and ask #2:选择权价差单如何组成
  • 亚马逊选品工具哪个好用:亚马逊卖家选品数据分析工具推荐
  • 支持支付宝的国外VPS主机服务器大全:用支付宝买国外网站空间服务器VPS
  • Python入门教程:Python怎么写
  • 海外营销周报:Facebook将对其广告工具进行调整,Linkedin恢复中国境内账号注册
  • WordPress建立数据库连接时出错怎么办?
  • Hostinger主机如何添加一个新的域名(网站),如何更改主机的主域名(Main Domain)
  • 谷歌将在6月中旬启动网页体验(Page Experience)更新,Search Console 新推出网页体验报告
  • 最便宜的国外VPS推荐:5美金以下的VPS大全
  • Gutenberg 10.6 添加Duotone过滤器、查询模式轮播和最常用标签选择器
  • MovoCash虚拟信用卡教程:美国虚拟信用卡申请教程
  • 使用MailPoet扩展您的电子商务邮件列表
  • VPS评测:Clouvider Limited英国VPS性能测试
  • VPS评测:Netcloud/香港/原生IP/不限流量/月付60港币起
  • 虚拟卡服务商大全,能开通虚拟卡的几个服务商
  • PayPal国外买东西教程:银联卡(国内储蓄卡信用卡)怎么用PayPal买国外的东西更安全