python開發_tkinter_菜單選項中英文切換_菜單選項不可用操作_博主推薦


我使用的python版本為:3.3.2

如果你對python中tkinter模塊的菜單操作不是很了解,你可以看看:

python開發_tkinter_窗口控件_自己制作的Python IDEL_博主推薦

python開發_tkinter_窗口控件_自己制作的Python IDEL_博主推薦(二)

如果你了解一些tkinter菜單操作,也許這篇blog對你有所幫助:

運行效果:

1.英文效果

只需要修改如下代碼,就可以實現中英文轉換:

1     #選擇中英文
2     if not FLAG:
3         MENU_BAR = CN_MENU_ITEMS
4         MENU_FILE_ITEMS = CN_FILE_MENU_ITEMS
5         MENU_EDIT_ITEMS = CN_EDIT_MENU_ITEMS
6     else:
7         MENU_BAR = EN_MENU_ITEMS
8         MENU_FILE_ITEMS = EN_FILE_MENU_ITEMS
9         MENU_EDIT_ITEMS = EN_EDIT_MENU_ITEMS

2.中文效果

=================================================

代碼部分:

=================================================

  1 #python tkinter menu
  2 
  3 from tkinter import *
  4 
  5 # some vocabulary to keep from getting confused. This terminology
  6 # is something I cooked up for this file, but follows the man pages
  7 # pretty closely
  8 #
  9 #
 10 #
 11 #       This is a MENUBUTTON
 12 #       V
 13 # +-------------+
 14 # |             |
 15 #
 16 # +------------++------------++------------+
 17 # |            ||            ||            |
 18 # |  File      ||  Edit      || Options    |   <-------- the MENUBAR
 19 # |            ||            ||            |
 20 # +------------++------------++------------+
 21 # | New...         |
 22 # | Open...        |
 23 # | Print          |
 24 # |                |  <------ This is a MENU. The lines of text in the menu are
 25 # |                |                          MENU ENTRIES
 26 # |                +---------------+
 27 # | Open Files >   | file1         |
 28 # |                | file2         |
 29 # |                | another file  | <------ this cascading part is also a MENU
 30 # +----------------|               |
 31 #                  |               |
 32 #                  |               |
 33 #                  |               |
 34 #                  +---------------+
 35 
 36 __author__ = {'name' : 'Hongten',
 37               'Email' : 'hongtenzone@foxmail.com',
 38               'Blog' : 'http://www.cnblogs.com/hongten',
 39               'QQ' : '648719819',
 40               'Created' : '2013-09-10'}
 41 
 42 #global var
 43 #flag
 44 FLAG = True
 45 MENU_BAR = []
 46 MENU_FILE_ITEMS = []
 47 MENU_EDIT_ITEMS = []
 48 
 49 #菜單條選項
 50 CN_MENU_ITEMS = ['文件', '編輯']
 51 EN_MENU_ITEMS = ['File', 'Edit']
 52 
 53 #File菜單選項子菜單
 54 CN_FILE_MENU_ITEMS = ['創建...', '打開...', '退出']
 55 EN_FILE_MENU_ITEMS = ['New...', 'Open...', 'Quit']
 56 
 57 #Edit菜單選項子菜單
 58 CN_EDIT_MENU_ITEMS = ['不可用', '剪切', '復制', '粘貼']
 59 EN_EDIT_MENU_ITEMS = ['Undo', 'Cut', 'Copy', 'Paste']
 60 
 61 def init():
 62     global FLAG
 63     FLAG = True
 64     global MENU_BAR
 65     global MENU_FILE_ITEMS
 66     global MENU_EDIT_ITEMS
 67     #選擇中英文
 68     if not FLAG:
 69         MENU_BAR = CN_MENU_ITEMS
 70         MENU_FILE_ITEMS = CN_FILE_MENU_ITEMS
 71         MENU_EDIT_ITEMS = CN_EDIT_MENU_ITEMS
 72     else:
 73         MENU_BAR = EN_MENU_ITEMS
 74         MENU_FILE_ITEMS = EN_FILE_MENU_ITEMS
 75         MENU_EDIT_ITEMS = EN_EDIT_MENU_ITEMS
 76 
 77 root = Tk()
 78 init()
 79 root.geometry('250x200')
 80 root.title('menu demo')
 81 root.iconname('packer')       
 82 
 83 def new_file():
 84     print('File -- New...')
 85 
 86 def open_file():
 87     print('File -- Open...')
 88 
 89 def create_file_menu():
 90     '''創建Fiel菜單項,在File菜單中包含:
 91         New...
 92         Open...
 93         Quit
 94         等子菜單。'''
 95     file_item = Menubutton(menu_bar, text=MENU_BAR[0], underline=0)
 96     file_item.pack(side=LEFT, padx='1m')
 97     file_item.menu = Menu(file_item)
 98 
 99     file_item.menu.add_command(label=MENU_FILE_ITEMS[0], underline=0, command=new_file)
100     file_item.menu.add_command(label=MENU_FILE_ITEMS[1], underline=0, command=open_file)
101     file_item.menu.add_command(label=MENU_FILE_ITEMS[2], underline=0, command=root.destroy)
102     file_item['menu'] = file_item.menu
103     return file_item
104 
105 def create_edit_menu():
106     '''創建Edit菜單項,在Edit菜單中包含:
107         Undo
108         Cut
109         Copy
110         Paste
111         等子菜單。'''
112     edit_item = Menubutton(menu_bar, text=MENU_BAR[1], underline=1)
113     edit_item.pack(side=LEFT, padx='1m')
114     edit_item.menu = Menu(edit_item)
115     #不可用狀態
116     edit_item.menu.add('command', label=MENU_EDIT_ITEMS[0])
117     edit_item.menu.entryconfig(1, state=DISABLED)
118 
119     edit_item.menu.add_command(label=MENU_EDIT_ITEMS[1])
120     edit_item.menu.add_command(label=MENU_EDIT_ITEMS[2])
121     edit_item.menu.add_command(label=MENU_EDIT_ITEMS[3])
122     edit_item['menu'] = edit_item.menu    
123     return edit_item
124 
125 menu_bar = Frame(root, relief=RAISED, borderwidth=2)
126 menu_bar.pack(fill=X)
127 
128 #創建File,Edit菜單項
129 file_meun = create_file_menu()
130 edit_menu = create_edit_menu()
131 
132 #加載File,Edit菜單項到窗口的菜單欄
133 menu_bar.tk_menuBar(file_meun, edit_menu)
134 
135 root.mainloop()

 參考資料:

http://www.oschina.net/code/explore/Python-3.1.3/Demo/tkinter/matt/menu-simple.py


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM