python实现在主窗口按按钮1跳转窗口二,窗口二可实现文本框的输入输出功能和单选按钮功能和日期选择功能,并在窗口二设置按钮保存全部信息后退回窗口1
时间: 2024-05-16 16:17:58 浏览: 66
python 实现输入和输出
5星 · 资源好评率100%
以下是一个简单的Python代码示例,该代码实现了您所描述的功能。其中,我们使用了tkinter模块来创建GUI界面。
```python
import tkinter as tk
from tkinter import messagebox
from tkinter import ttk
from datetime import datetime
class MainWindow:
def __init__(self, master):
self.master = master
master.title("主窗口")
master.geometry("200x100")
self.button1 = tk.Button(master, text="跳转窗口二", command=self.open_window2)
self.button1.pack()
def open_window2(self):
self.new_window = tk.Toplevel(self.master)
self.app = Window2(self.new_window)
class Window2:
def __init__(self, master):
self.master = master
master.title("窗口二")
master.geometry("300x200")
self.label1 = tk.Label(master, text="请输入信息:")
self.label1.grid(row=0, column=0)
self.entry1 = tk.Entry(master)
self.entry1.grid(row=0, column=1)
self.label2 = tk.Label(master, text="请选择性别:")
self.label2.grid(row=1, column=0)
self.radio_var = tk.StringVar()
self.radio_var.set("男")
self.radio_button1 = tk.Radiobutton(master, text="男", variable=self.radio_var, value="男")
self.radio_button1.grid(row=1, column=1)
self.radio_button2 = tk.Radiobutton(master, text="女", variable=self.radio_var, value="女")
self.radio_button2.grid(row=1, column=2)
self.label3 = tk.Label(master, text="请选择日期:")
self.label3.grid(row=2, column=0)
self.today = datetime.today().strftime('%Y-%m-%d')
self.date_picker = ttk.Combobox(master, values=["2022-01-01", "2022-01-02", "2022-01-03", self.today])
self.date_picker.grid(row=2, column=1)
self.button2 = tk.Button(master, text="保存信息", command=self.save_info)
self.button2.grid(row=3, column=0)
self.button3 = tk.Button(master, text="返回主窗口", command=self.close_window)
self.button3.grid(row=3, column=1)
def save_info(self):
info = self.entry1.get()
gender = self.radio_var.get()
date = self.date_picker.get()
messagebox.showinfo("保存成功", f"您输入的信息为:{info}, 您选择的性别为:{gender}, 您选择的日期为:{date}")
def close_window(self):
self.master.destroy()
if __name__ == '__main__':
root = tk.Tk()
app = MainWindow(root)
root.mainloop()
```
在上述代码中,我们创建了两个类:`MainWindow`和`Window2`。`MainWindow`类创建了一个主窗口,其中包含一个按钮,用于打开`Window2`窗口。`Window2`类创建了一个新的窗口,其中包含一个文本框、单选按钮、日期选择器以及两个按钮。其中,`save_info`方法用于保存用户输入的信息,`close_window`方法用于关闭当前窗口并返回到主窗口。
阅读全文