python ttk 右上角关闭按钮事件
时间: 2023-08-07 21:10:45 浏览: 103
要在Python的ttk模块中实现右上角关闭按钮的事件,你可以使用`protocol`方法来捕获关闭事件。以下是一个示例代码:
```python
from tkinter import *
from tkinter import ttk
def on_closing():
# 在关闭窗口时执行的操作
print("窗口关闭事件发生")
root.destroy()
root = Tk()
root.protocol("WM_DELETE_WINDOW", on_closing)
frame = ttk.Frame(root)
frame.pack()
root.mainloop()
```
在这个例子中,我们使用`protocol`方法将`on_closing`函数绑定到窗口的关闭事件。在关闭窗口时,将会执行`on_closing`函数中定义的操作。你可以根据需要在`on_closing`函数中添加你自己的逻辑。
相关问题
python ttk 关闭按钮
你可以使用Python的ttk模块来创建一个关闭按钮。以下是一个简单的示例代码:
```python
from tkinter import *
from tkinter import ttk
def close_window():
root.destroy()
root = Tk()
frame = ttk.Frame(root)
frame.pack()
button = ttk.Button(frame, text="关闭", command=close_window)
button.pack()
root.mainloop()
```
在这个例子中,我们使用ttk模块创建一个按钮,按钮上显示 "关闭",并将其与 `close_window` 函数绑定,该函数会销毁主窗口(root)。通过点击按钮,你可以关闭窗口。
python实现在主窗口按按钮1跳转窗口二,窗口二可实现文本框的输入输出功能和单选按钮功能和日期选择功能,并在窗口二设置按钮保存全部信息后退回窗口1
以下是一个简单的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`方法用于关闭当前窗口并返回到主窗口。
阅读全文