python_使用tkinter建立一个页面的模板
python_使用tkinter建立一个页面的模板
效果如图,
代码如下
"""
python设计一下tkinter的布局在最上面排列5个按钮,然后一排4个水平分布的按钮,下面分左右两个图像显示,默认为白色背景为了实现您所描述的Tkinter布局,我们可以使用tkinter库中的Frame来组织不同的部分,并使用grid布局管理器来安排这些部分。
以下是一个简单的示例代码,展示了如何创建一个窗口,其中包含顶部5个按钮,
下方一排4个水平分布的按钮,以及底部左右两个图像显示区域(这里用白色背景的Label代替图像显示)
"""
import tkinter as tk
from tkinter import Label def main(): root = tk.Tk() root.title("Tkinter Layout Example") # 设置窗口大小 root.geometry("400x300") # 顶部5个按钮 top_frame = tk.Frame(root) top_frame.pack(fill=tk.X, expand=False) for i in range(5): button = tk.Button(top_frame, text=f"Button {i+1}") button.grid(row=0, column=i, padx=5, pady=5) # 添加文本框来显示矩形坐标 coord_label = tk.Label(root, text="No rectangle selected", width=30) coord_label.pack(side=tk.TOP, fill=tk.X,padx=30) # 底部左右两个图像显示区域 bottom_images_frame = tk.Frame(root) bottom_images_frame.pack(fill=tk.BOTH, expand=True) left_image_label = Label(bottom_images_frame, bg='white', width=40, height=20) left_image_label.grid(row=0, column=0, sticky='nsew', padx=5, pady=5) right_image_label = Label(bottom_images_frame, bg='white', width=40, height=20) right_image_label.grid(row=0, column=1, sticky='nsew', padx=5, pady=5) # 设置底部左右两个图像显示区域的列权重,使其等宽 bottom_images_frame.columnconfigure(0, weight=1) bottom_images_frame.columnconfigure(1, weight=1) root.mainloop() if __name__ == "__main__": main()