tkinter在窗口里创建5个子窗口依次水平排列,每个子窗口的高度均为父窗口高度,宽度为父窗口的5分之一。
时间: 2024-10-13 15:18:24 浏览: 10
在Tkinter中,你可以使用`Toplevel`来创建新窗口,然后利用`geometry()`方法来设定子窗口的大小和位置。以下是创建5个子窗口并使其水平排列的示例代码:
首先,在主窗口`root`中,我们创建一个用于放置子窗口的`Frame`:
```python
import tkinter as tk
def create_subwindows(parent):
for i in range(5):
sub_window = tk.Toplevel(parent)
# 设定子窗口的大小和位置
window_width = parent.winfo_width() / 5
window_height = parent.winfo_height()
x_pos = i * (window_width + 10) # 每个窗口之间有10像素间隔
y_pos = 0 # 子窗口从顶部开始
geometry_str = f"{window_width}x{window_height}+{x_pos}+{y_pos}"
sub_window.geometry(geometry_str)
root = tk.Tk()
main_frame = tk.Frame(root)
main_frame.pack(padx=20, pady=20) # 添加一些边距
create_subwindows(main_frame)
root.mainloop()
```
在这个例子中,`create_subwindows`函数接受一个父窗口作为参数,循环创建5个子窗口,每个子窗口的宽度是父窗口的五分之一,高度等于父窗口高度,而子窗口的位置则是左对齐且相邻窗口间有10像素的间隔。子窗口都是顶级窗口(`Toplevel`),这意味着它们独立于父窗口存在。
阅读全文