Python3 tkinter基础 Menu Frame 创建右键菜单

386 阅读1分钟
  •        Python : 3.8.11
  •          OS : Ubuntu Kylin 20.04
  •       Conda : 4.10.1
  •     PyCharm : 2021.1.3 (Community Edition)

示例_1

代码

"""
@Author : 行初心
@Date   : 8/6/21
"""
from tkinter import *


def main():
    root = Tk()

    # tearoff=False
    menu_bar = Menu(root, tearoff=False)

    menu_bar.add_command(label='果部')
    menu_bar.add_command(label='菜部')

    frame = Frame(root,
                  width=100, height=100,
                  background='red')
    frame.pack()

    def _right_key(event):
        menu_bar.post(event.x_root, event.y_root)

    # frame框绑定鼠标右键
    frame.bind("<Button-3>", _right_key)

    mainloop()


if __name__ == '__main__':
    main()


运行结果

menuframe_1.png

示例_2

代码

"""
@Author : 行初心
@Date   : 8/6/21
"""
from tkinter import *


def main():
    root = Tk()

    # tearoff=True
    menu_bar = Menu(root, tearoff=True)

    menu_bar.add_command(label='果部')
    menu_bar.add_command(label='菜部')

    frame = Frame(root,
                  width=100, height=100,
                  background='red')
    frame.pack()

    def _right_key(event):
        menu_bar.post(event.x_root, event.y_root)

    # frame框绑定鼠标右键
    frame.bind("<Button-3>", _right_key)

    mainloop()


if __name__ == '__main__':
    main()

运行结果

menuframe_2.png

参考资料

学习推荐


Python具有开源、跨平台、解释型和交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
GUI可以选择PyQt5、PySide2、wxPython、PyGObject、wxWidgets等进行创作。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。