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()

運行結果:

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章