python的tkinter菜单后再来一个菜单
时间: 2023-07-05 18:34:05 浏览: 101
要在Python的Tkinter中创建一个菜单,需要使用Menu类。要在菜单中添加另一个菜单,可以使用add_cascade()方法。以下是一个简单的例子,演示如何创建一个菜单并在其中添加另一个菜单:
```python
from tkinter import *
root = Tk()
# 创建菜单栏
menu_bar = Menu(root)
root.config(menu=menu_bar)
# 创建菜单
file_menu = Menu(menu_bar)
menu_bar.add_cascade(label="File", menu=file_menu)
# 添加子菜单
sub_menu = Menu(file_menu)
file_menu.add_cascade(label="New", menu=sub_menu)
sub_menu.add_command(label="File")
sub_menu.add_command(label="Folder")
root.mainloop()
```
在这个例子中,我们首先创建了一个菜单栏,然后创建了一个名为“File”的菜单。然后我们创建了一个名为“New”的子菜单,并将其添加到“File”菜单中。最后,我们向子菜单中添加了两个命令标签“File”和“Folder”。
相关问题
python的tkinter菜单后再来一个菜单,子菜单向右选择
可以使用`Menu`和`Cascade`类来实现子菜单向右选择的效果。下面是一个示例代码:
```python
import tkinter as tk
root = tk.Tk()
# 创建菜单栏
menubar = tk.Menu(root)
# 创建一级菜单
file_menu = tk.Menu(menubar, tearoff=0)
edit_menu = tk.Menu(menubar, tearoff=0)
# 添加一级菜单到菜单栏
menubar.add_cascade(label="File", menu=file_menu)
menubar.add_cascade(label="Edit", menu=edit_menu)
# 添加二级菜单到一级菜单
file_menu.add_command(label="New")
file_menu.add_command(label="Open")
file_menu.add_separator()
file_menu.add_cascade(label="Save As", menu=tk.Menu(file_menu, tearoff=0))
file_menu.add_separator()
file_menu.add_command(label="Exit")
# 添加三级菜单到二级菜单
save_as_menu = file_menu.get_children()[2].get_menu()
save_as_menu.add_command(label="Text")
save_as_menu.add_command(label="Image")
edit_menu.add_command(label="Cut")
edit_menu.add_command(label="Copy")
edit_menu.add_command(label="Paste")
# 将菜单栏添加到窗口
root.config(menu=menubar)
root.mainloop()
```
运行这段代码,你会看到一个窗口,其中有两个一级菜单("File"和"Edit"),每个一级菜单下都有二级菜单和一个子菜单向右选择的三级菜单。
python的tkinter菜单后再来一个菜单,子菜单向右选择,一个一级菜单,三个两级菜单,三个三级菜单
好的,可以通过Tkinter的Menu组件来实现。下面是一个简单的示例代码,实现了一个一级菜单,三个二级菜单,每个二级菜单下面有三个三级菜单,并且每个菜单项都有一个子菜单向右选择:
```python
import tkinter as tk
root = tk.Tk()
# 创建菜单栏
menubar = tk.Menu(root)
# 创建一级菜单
menu1 = tk.Menu(menubar, tearoff=False)
menubar.add_cascade(label="菜单1", menu=menu1)
# 创建二级菜单
for i in range(3):
menu2 = tk.Menu(menu1, tearoff=False)
menu1.add_cascade(label="菜单2-{}".format(i+1), menu=menu2)
# 创建三级菜单
for j in range(3):
menu3 = tk.Menu(menu2, tearoff=False)
menu2.add_cascade(label="菜单3-{}".format(j+1), menu=menu3)
# 创建子菜单
for k in range(3):
menu3.add_command(label="子菜单-{}".format(k+1))
# 显示菜单栏
root.config(menu=menubar)
root.mainloop()
```
这个代码会在窗口中创建一个菜单栏,其中包含一个一级菜单“菜单1”和三个二级菜单“菜单2-1”、“菜单2-2”、“菜单2-3”,每个二级菜单下面有三个三级菜单“菜单3-1”、“菜单3-2”、“菜单3-3”,每个三级菜单下面有三个子菜单“子菜单-1”、“子菜单-2”、“子菜单-3”。注意,这里的子菜单只是一个普通的菜单项,没有子菜单向右选择。
阅读全文