如何用Python实现一个无边框的窗口,其中包含一个占据整个界面大小的点击可触发新界面的按钮,界面大小就是普通按钮大小。
时间: 2024-10-20 22:16:48 浏览: 37
在Python的Tkinter库中,我们可以使用`ttk.Button`创建一个无边框的按钮,并通过`grid`或`pack`等布局管理器将其填充整个窗口。为了创建一个无边框的新窗口,我们可以在按钮被点击时创建一个新的`Toplevel`窗口。下面是一个示例代码:
```python
import tkinter as tk
from tkinter import ttk
class MainApp(tk.Tk):
def __init__(self):
super().__init__()
self.withdraw() # 隐藏主窗口
self.title("无边框主窗口")
# 创建全屏无边框窗口
new_window = NewWindow(self)
# 创建无边框按钮
button = ttk.Button(master=self, text="点击打开新窗口", command=new_window.show_new_window)
button.grid(column=0, row=0, sticky="nsew") # 占据整个界面
self.mainloop()
class NewWindow(ttk.Frame):
def __init__(self, parent):
super().__init__(parent, takefocus=False)
self.withdraw() # 隐藏新窗口
def show_new_window(self):
# 创建新的无边框Toplevel窗口
self.new_window = NewWindow(master=self.master)
self.new_window.deiconify() # 展现新窗口
self.destroy() # 关闭当前窗口
if __name__ == "__main__":
app = MainApp()
```
在这个示例中,`MainApp`窗口隐藏了标题栏,`NewWindow`作为内部类用于创建新窗口。当你点击那个按钮时,会创建一个新的`NewWindow`,并让它占据整个主窗口。
阅读全文