tkinter教程7:控件Menu

tkinter教程7:控件Menu


本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.

环境:

python版本:3.5

开发环境:pyCharm

源码:

示例1:

import tkinter as tk
import threading


def main():
    threading.Thread(target=gui_thread).start()


def gui_thread():
    root = tk.Tk()
    app = App(root)
    root.mainloop()


class App:
    def __init__(self, root):
        frame = tk.Frame(root)
        frame.pack()

        # Menu
        self.menu_bar = tk.Menu(root)
        root.config(menu=self.menu_bar)

        # 子菜单
        self.menu_file = tk.Menu(self.menu_bar, tearoff=False)
        self.menu_bar.add_cascade(label='文件', menu=self.menu_file)
        # 子菜单中的选项
        self.menu_file.add_command(label='打开', command=lambda: print('打开'))
        self.menu_file.add_command(label='保存', command=lambda: print('保存'))
        # 分隔符
        self.menu_file.add_separator()
        self.menu_file.add_command(label='退出', command=root.quit)

        self.menu_bar.add_command(label='编辑', command=lambda: print('编辑'))


if __name__ == '__main__':
    main()

运行结果:

示例2:菜单中增加checkbutton和radiobutton

import tkinter as tk
import threading


def main():
    threading.Thread(target=gui_thread).start()


def gui_thread():
    root = tk.Tk()
    app = App(root)
    root.mainloop()


class App:
    def __init__(self, root):
        frame = tk.Frame(root)
        frame.pack()

        # Menu
        self.menu_bar = tk.Menu(root)
        root.config(menu=self.menu_bar)

        # checkbutton
        self.menu_file = tk.Menu(self.menu_bar, tearoff=False)
        self.menu_bar.add_cascade(label='文件', menu=self.menu_file)

        self.open_var = tk.IntVar()
        self.save_var = tk.IntVar()
        self.exit_var = tk.IntVar()
        self.menu_file.add_checkbutton(label='打开', command=lambda: print('打开'), variable=self.open_var)
        self.menu_file.add_checkbutton(label='保存', command=lambda: print('保存'), variable=self.save_var)
        self.menu_file.add_separator()
        self.menu_file.add_checkbutton(label='退出', command=root.quit, variable=self.exit_var)

        # radiobutton
        self.menu_edit = tk.Menu(self.menu_bar, tearoff=False)
        self.menu_bar.add_cascade(label='编辑', menu=self.menu_edit)

        self.edit_var = tk.IntVar()
        self.edit_var.set(1)
        self.menu_edit.add_radiobutton(label='剪切', command=lambda: print('剪切'), variable=self.edit_var, value=1)
        self.menu_edit.add_radiobutton(label='拷贝', command=lambda: print('拷贝'), variable=self.edit_var, value=2)
        self.menu_edit.add_radiobutton(label='粘贴', command=lambda: print('粘贴'), variable=self.edit_var, value=3)


if __name__ == '__main__':
    main()

运行结果:

   

猜你喜欢

转载自blog.csdn.net/jdh99/article/details/90060925