甜萝 发表于 2022-12-29 12:58

在Tkinter窗口上创建弹出菜单栏

本帖最后由 paypojie 于 2022-12-29 13:00 编辑

仿照来源



实现的效果图



源代码
# 导入tkinter模块并给tkinter起别名tk
import tkinter as tk

# 创建窗口
window = tk.Tk()

# 设置窗口标题
window.title("My Window")
# 设置主窗口的大小
window.geometry('400x300+300+200')
# 定义一个函数 用来提示
def func():
    print('您正在使用弹出菜单栏')

# 创建弹出菜单栏 弹出式菜单栏 即快捷式菜单栏
menu = tk.Menu(window,tearoff=False)
menu.add_command(label='新建',command=func)
menu.add_command(label='复制',command=func)
menu.add_command(label='粘贴',command=func)
menu.add_command(label='剪切',command=func)

# 定义一个事件函数
def command(event):
    # 对弹出菜单使用post()方法 使其在指定的位置上显示弹出菜单
    menu.post(event.x_root,event.y_root)

# 绑定鼠标右键 鼠标绑定事件
# <Button-3>表示点击鼠标右键 2表示鼠标中间的滑轮 1表示鼠标左键
window.bind('<Button-3>',command)
# 进入消息循环
window.mainloop()

wangxiaohong888 发表于 2022-12-29 13:14

感谢大神分享谢谢

飘零星夜 发表于 2022-12-29 14:03

本帖最后由 飘零星夜 于 2022-12-29 14:05 编辑

window.geometry('400x300+300+200') 这条为什么能通过, 我感觉是 window.geometry('400x300’) //我菜, 不好意思

试了: 后面表示 出现在屏幕的位置, 默认右上。

甜萝 发表于 2022-12-29 14:54

wangxiaohong888 发表于 2022-12-29 13:14
感谢大神分享谢谢

^_^ 不用谢

甜萝 发表于 2022-12-29 15:10

飘零星夜 发表于 2022-12-29 14:03
window.geometry('400x300+300+200') 这条为什么能通过, 我感觉是 window.geometry('400x300’) //我菜,...

window.geometry('400x300’) 这个写法是对的
window.geometry('400x300+300+200') 这个写法也是对的
+300+200意思是调整主窗口的位置 +300表示增加距离屏幕左侧的距离+200表示增加距离屏幕顶部的距离

qianseshitou 发表于 2022-12-29 16:30

学习了,感谢分享
页: [1]
查看完整版本: 在Tkinter窗口上创建弹出菜单栏