2
私は、tKinter、Python 2.7を使って簡単なUIを構築しました。私は、具体的ループ(または複数のループ)のために使用して、より良いコード - でこれを生成することができる場合、私は疑問に思ってforループでtKinterメニューを生成する
from Tkinter import *
import Tkinter, Tkconstants, tkFileDialog, tkMessageBox
class FileZap():
def __init__(self, root):
root.title("Test_App")
root.geometry("900x550")
self.menu = Menu(root)
self.fileMenu = Menu(self.menu)
self.funcMenu = Menu(self.menu)
self.advMenu = Menu(self.menu)
self.toolMenu = Menu(self.menu)
root.config(menu=self.menu, width=500, relief=RAISED, borderwidth=2)
self.menu.add_cascade(label="File", menu=self.fileMenu)
self.menu.add_cascade(label="Functions", menu=self.funcMenu)
self.menu.add_cascade(label="Advanced", menu=self.advMenu)
self.menu.add_cascade(label="Tools", menu=self.toolMenu)
self.menu.add_command(label="Quit", command=root.quit)
self.fileMenu.add_command(label="New")
self.fileMenu.add_command(label="Open")
self.fileMenu.add_command(label="Quit", command=root.quit)
self.funcMenu.add_command(label="Properties")
self.funcMenu.add_command(label="Properties")
self.funcMenu.add_command(label="Properties")
self.funcMenu.add('separator')
self.funcMenu.add_command(label="Properties")
self.funcMenu.add_command(label="Properties")
root = Tkinter.Tk()
file_zap = FileZap(root)
root.mainloop()
:私のコードは次のようになります。
私は、例えば、リストを宣言し、このいくつかのためにそれを反復処理しようとすると、してみました:
menuItems = ['File','Functions','Advanced','Tools','Quit']
for item in menuItems:
self.menu.add_cascade(label=item, menu=self.fileMenu)
このブロックを置き換えるために:
self.menu.add_cascade(label="File", menu=self.fileMenu)
self.menu.add_cascade(label="Functions", menu=self.funcMenu)
self.menu.add_cascade(label="Advanced", menu=self.advMenu)
self.menu.add_cascade(label="Tools", menu=self.toolMenu)
self.menu.add_command(label="Quit", command=root.quit)
が、これがうまくいきませんでした考えなければならないことはたくさんあります。誰かが私にこれを行うためのより良い方法を示すことができたら、私は感謝するでしょう、私はそれを私のUIの残りの部分に適用するかもしれません。私はラムダ関数を使用して私は何をする必要があるかもしれないことを読んだが、再び私はよく分からないが...
ああこれは素晴らしいです。私はあなたがここでやっていることを見てきました。それは私には意味があります。私は前にOrderedDictに出くわしていないので、そこを見て何か新しい。この応答をありがとう、非常に役立ちます。 – JamesPy