Anaconda tkinter菜单。我在哪里拨打电话和代码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Anaconda tkinter菜单。我在哪里拨打电话和代码?相关的知识,希望对你有一定的参考价值。
运行Anaconda因为我想要统计功能。所以我创建了菜单系统,但我不确定:
- 一旦我点击(例如)Group t选项,我想向用户提供更多选项以及其他下拉菜单或数据输入等。
但我不知道在哪里放置该统计信息的代码,然后我该怎么称呼它。
在C ++世界中,它可以在一个单独的文件中,或者稍后在程序中使用调用函数。我不知道怎么在Anaconda做这个。
import tkinter as tk
class Window(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.main_window()
self.widgets()
# All main window parameters go here
def main_window(self):
self.master.title("Quick-Stat")
self.master.geometry("1000x800")
self.pack()
def widgets(self):
main_menu = tk.Menu(self.master, tearoff=0)
self.master.config(menu=main_menu)
# Create File Menu and Drop Down
file = tk.Menu(main_menu, tearoff=0)
file.add_command(label="Save")
file.add_command(label="Exit", command=exit)
main_menu.add_cascade(label="File", menu=file)
# Create Edit Menu and Drop Down
edit = tk.Menu(main_menu, tearoff=0)
edit.add_command(label="Undo")
main_menu.add_cascade(label="Edit", menu=edit)
#Create Means Analysis Menu and Drop Down
means = tk.Menu(main_menu,tearoff=0)
means.add_command(label="Group t")
means.add_command(label="Paired t")
means.add_separator()
means.add_command(label="ANOVA")
means.add_separator()
means.add_command(label="Mann-Whitney U")
means.add_command(label="Wilcoxon rank sum")
main_menu.add_cascade(label="Means", menu=means)
#Create Chi-square Analysis Menus and Drop Down
chi = tk.Menu(main_menu, tearoff=0)
chi.add_command(label="Chi-Square 2x2 table")
chi.add_command(label="Chi-Square for larger table")
chi.add_separator()
chi.add_command(label="McNemar's Test")
chi.add_command(label="Fisher's Exact")
main_menu.add_cascade(label="Tables", menu=chi)
#Create Help Menu
help = tk.Menu(main_menu, tearoff=0)
help.add_command(label="Means Analysis")
help.add_command(label="Chi-Square Analysis")
main_menu.add_cascade(label="Help",menu=help)
main = tk.Tk()
comm_prog = Window(master=main)
main.mainloop()
答案
假设您想要打开一个新的自定义对话框,您要做的是在Window
类上创建一个回调方法,该方法创建一个新的tk.Toplevel
实例(如果您愿意,还可以创建一个子类)。 FWIW,你从调用main
得到的tk.Tk()
窗口对象实际上是该类的子类的一个实例。
def group_t_callback(self):
dialog = tk.Toplevel(self.master)
dialog.title("The Title")
dialog.transient(self.master)
# You might want to put some contents in here, etc.
然后,一旦你有了这个方法,你可以在创建它时将它连接到菜单项:
means.add_command(label="Group t...", command=self.group_t_callback)
# Hint: also check out the accelerator kwarg...
您应该注意的一个约定是,用户倾向于期望打开对话框的菜单项在其标签的末尾具有...
。并非所有应用程序都完全一致,但如果可以的话,这是一个很好的约定。
有关制作对话框的更多信息,请尝试使用Introduction to Tkinter在线书籍。我省略了很多细节。
以上是关于Anaconda tkinter菜单。我在哪里拨打电话和代码?的主要内容,如果未能解决你的问题,请参考以下文章
Anaconda Python 在 Windows 上安装在哪里?