当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 自动化测试面试题(含答案)
  • vue3 响应式 API:shallowRef()和shallowReactive()
  • orcad画封装,如何隐藏引脚编号,线宽
  • 【MySQL】初识MySQL—MySQL是啥,以及如何简单操作???
  • [环境配置]Pycharm手动安装汉化插件
  • c/c++ 指针数组
  • 05:【江科大stm32】:定时器输出比较功能(PWM)
  • Facebook 小店:不出单?没流量?如何解决?
  • Facebook的AI进化:如何用智能技术提升内容推荐
  • ubuntu 安装 jdk
  • “99公益日”绿葆携手一镇一业,捐赠价值8万元的取袋机等物资
  • Unity中使用四元数限制旋转
  • 算法笔记|Day40动态规划XIII
  • 智汇云舟受邀参加2024第四届国产水科学数值模型开发创新与技术应用研讨会,并成为“科技智水产业联盟”创始成员
  • 【个人笔记】VCS工具与命令
  • Babel配置的不完全指南
  • css布局,左右固定中间自适应实现
  • HTTP 简介
  • JavaScript-Array类型
  • Less 日常用法
  • mongodb--安装和初步使用教程
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • MySQL用户中的%到底包不包括localhost?
  • Phpstorm怎样批量删除空行?
  • spring boot 整合mybatis 无法输出sql的问题
  • Theano - 导数
  • Vue2.0 实现互斥
  • vue-router 实现分析
  • 从输入URL到页面加载发生了什么
  • 分类模型——Logistics Regression
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 技术胖1-4季视频复习— (看视频笔记)
  • 七牛云假注销小指南
  • 深度学习入门:10门免费线上课程推荐
  • 数据仓库的几种建模方法
  • #传输# #传输数据判断#
  • $refs 、$nextTic、动态组件、name的使用
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (13)DroneCAN 适配器节点(一)
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (办公)springboot配置aop处理请求.
  • (力扣)循环队列的实现与详解(C语言)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十六)Flask之蓝图
  • (数据结构)顺序表的定义
  • (四)Linux Shell编程——输入输出重定向
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (五)c52学习之旅-静态数码管
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net Web窗口页属性
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 提取注释生成API文档 帮助文档
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET使用存储过程实现对数据库的增删改查