Tkinterチュートリアル7:コントロールメニュー

Tkinterチュートリアル7:コントロールメニュー


この記事のブログリンク: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:メニューにチェックボタンとラジオボタンを追加する

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