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()