【发布时间】:2017-01-10 09:19:11
【问题描述】:
在我的程序的最后润色上苦苦挣扎了一段时间。我想有人可以帮忙。
基本上,我的程序包括使用 4 个按钮询问用户想要显示其信息的 4 家公司中的哪一家。
class CompanyAnalysis(tk.Frame):
def displayfunction(controller, j):
return lambda: controller.show_frame(j)
company_choice = ["AnalysisCompany1", "AnalysisCompany2", "AnalysisCompany3", "AnalysisCompany4"]
company_name = ["Company1", "Company2", "Company3", "Company4"]
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
header = tk.Label(self, text="Which company to analyze?")
header.pack(side="top", padx=2, pady=2, fill="x")
for i,j in zip(company_name, company_choice):
button = tk.Button(self, text=i, command=displayfunction(controller,j))
knapp.pack(side="top", padx=2, pady=2, fill="x")
这基本上是我公司选择的课程。但是,我的 GUI 是按原样构建的,我目前有 4 个相同的类用于显示公司信息的框架。它们如下所示:
class FAnalysEricsson(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
text = tk.Message(self, text=companylist[0].fundamental())
text.pack(side="top", padx=2, pady=2, fill="x")
其中 companylist 是一个对象列表,我在这里调用基本方法,它返回有关公司的信息。如何在不为每家公司重复我的代码的情况下设计我的 GUI?我在想可能是一个顶级窗口,比如某种功能(而不是显示功能),当我按下按钮时,它会打开一个新窗口,显示正确公司的信息(公司列表的索引)。
请不要犹豫,让我澄清任何事情,如果不发布我的全部代码就很难解释。
【问题讨论】:
标签: python loops user-interface optimization tkinter