tkinter 写一个交互界面,第一个界面含有4个勾选选项”A、B、C、D'和一个确认按钮,其中每个勾选选项对应3个二级勾选选项即,‘A1A2A3、B1B2B3、C1C2C3、D1D2D3;在第一个界面勾选后确认,根据勾选内容跳转至第二个交互界面,显示在第一个界面中勾选选项对应所有二级选项,第二个界面有一个确认按钮,点击确认后print第二个界面中的勾选内容。
时间: 2024-02-03 12:04:22 浏览: 79
好的,我可以帮你实现这个交互界面。以下是代码实现:
```python
import tkinter as tk
class App:
def __init__(self, master):
self.master = master
self.master.title("交互界面")
# 第一个界面
self.frame1 = tk.Frame(self.master)
self.frame1.pack()
# 勾选选项
self.var_a = tk.BooleanVar()
self.var_b = tk.BooleanVar()
self.var_c = tk.BooleanVar()
self.var_d = tk.BooleanVar()
# 一级勾选选项
self.check_a = tk.Checkbutton(self.frame1, text="A", variable=self.var_a)
self.check_b = tk.Checkbutton(self.frame1, text="B", variable=self.var_b)
self.check_c = tk.Checkbutton(self.frame1, text="C", variable=self.var_c)
self.check_d = tk.Checkbutton(self.frame1, text="D", variable=self.var_d)
self.check_a.pack()
self.check_b.pack()
self.check_c.pack()
self.check_d.pack()
# 二级勾选选项
self.var_a1 = tk.BooleanVar()
self.var_a2 = tk.BooleanVar()
self.var_a3 = tk.BooleanVar()
self.var_b1 = tk.BooleanVar()
self.var_b2 = tk.BooleanVar()
self.var_b3 = tk.BooleanVar()
self.var_c1 = tk.BooleanVar()
self.var_c2 = tk.BooleanVar()
self.var_c3 = tk.BooleanVar()
self.var_d1 = tk.BooleanVar()
self.var_d2 = tk.BooleanVar()
self.var_d3 = tk.BooleanVar()
# 确认按钮
self.btn_confirm1 = tk.Button(self.frame1, text="确认", command=self.show_frame2)
self.btn_confirm1.pack()
def show_frame2(self):
# 第一个界面勾选选项对应的所有二级选项
options = []
if self.var_a.get():
options.extend(["A1A2A3"])
if self.var_b.get():
options.extend(["B1B2B3"])
if self.var_c.get():
options.extend(["C1C2C3"])
if self.var_d.get():
options.extend(["D1D2D3"])
# 第二个界面
self.frame2 = tk.Frame(self.master)
self.frame2.pack()
# 二级勾选选项
self.check_a1 = tk.Checkbutton(self.frame2, text="A1A2A3", variable=self.var_a1)
self.check_a2 = tk.Checkbutton(self.frame2, text="B1B2B3", variable=self.var_b1)
self.check_a3 = tk.Checkbutton(self.frame2, text="C1C2C3", variable=self.var_c1)
self.check_a4 = tk.Checkbutton(self.frame2, text="D1D2D3", variable=self.var_d1)
if "A1A2A3" in options:
self.check_a1.pack()
if "B1B2B3" in options:
self.check_a2.pack()
if "C1C2C3" in options:
self.check_a3.pack()
if "D1D2D3" in options:
self.check_a4.pack()
# 确认按钮
self.btn_confirm2 = tk.Button(self.frame2, text="确认", command=self.show_checked_options)
self.btn_confirm2.pack()
def show_checked_options(self):
# 第二个界面中勾选的内容
checked_options = []
if self.var_a1.get():
checked_options.extend(["A1A2A3"])
if self.var_b1.get():
checked_options.extend(["B1B2B3"])
if self.var_c1.get():
checked_options.extend(["C1C2C3"])
if self.var_d1.get():
checked_options.extend(["D1D2D3"])
# 输出勾选的内容
print("勾选的内容:", checked_options)
if __name__ == "__main__":
root = tk.Tk()
app = App(root)
root.mainloop()
```
运行以上代码,即可看到交互界面。在第一个界面中勾选选项后,点击确认按钮,会跳转到第二个界面,显示勾选选项对应的所有二级选项。在第二个界面中勾选选项后,点击确认按钮,会输出勾选的内容。
阅读全文