用python画计算器图形界面

问题

Grid(表格)布局管理器采用表格结构组织组件。子组件的位置由行/列确定的单元格决定,子组件可以跨越多行/列。每一列中,列宽由这一列中最宽的单元格确定。Grid适合表格形式的布局,可以实现复杂的界面,因而被广泛应用。下面用grid布局管理器创建一个计算器界面。

方法

  1. Grid有两个最重要的参数:一个是row,另一个是column。
  2. 他们用来将子组件放置到什么位置。
  3. 如果不指定row,则会将子组件放置到第一个可用的行上,如果不指定column,则使用第0行。

代码清单 1

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| from tkinter import * root=Tk() #20*20说明初始化时主窗口的大小,280,280代表初始化窗口的位置 root.geometry("200*200+280+280") root.title('计算器示例') #grid 表格布局 L1=Button(root,text='1',width=5,bg='yellow') L2=Button(root,text='2',width=5) L3=Button(root,text='3',width=5) L4=Button(root,text='4',width=5) L5=Button(root,text='5',width=5,bg='green') L6=Button(root,text='6',width=5) L7=Button(root,text='7',width=5) L8=Button(root,text='8',width=5) L9=Button(root,text='9',width=5,bg='yellow') L0=Button(root,text=0) Lp=Button(root,text='.') L1.grid(row=0,column=0) #按钮放在0行0列 L2.grid(row=0,column=1)#按钮放在0行1列 L3.grid(row=0,column=2)#按钮放在0行2列 L4.grid(row=1,column=0)#按钮放在1行0列 L5.grid(row=1,column=1)#按钮放在1行1列 L6.grid(row=1,column=2)#按钮放在1行2列 L7.grid(row=2,column=0)#按钮放在2行0列 L8.grid(row=2,column=1)#按钮放在2行1列 L9.grid(row=2,column=1)#按钮放在2行2列 L0.grid(row=3,column=0,columnspan=2,sticky=E+W)#跨2行 Lp.grid(row=3,column=2,sticky=E+W)#左右贴紧 root.mainloop() |

结语

针对此类设计图形界面问题,使用tkinter来画简单的图形界面,提出grid中row和column的方法,通过以上实验,证明该方法是有效的,本文的仍有方法不足或考虑不周的地方,图形界面的画法有各种各样的方法来画,并不局限于此,未来可以继续研究更加高级简便的方法。

相关推荐
小火柴123几秒前
利用R绘制箱线图
开发语言·r语言
爱宇阳6 分钟前
Linux 教程:如何查看服务器当前目录中的文件
linux·运维·github
天才奇男子11 分钟前
用户管理,权限管理
linux·云原生
wheeldown11 分钟前
【Linux】Linux 进程通信:System V 共享内存(最快方案)C++ 封装实战 + 通信案例,4 类经典 Bug 快速修复
linux·运维·服务器·开发语言
小年糕是糕手21 分钟前
【数据结构】双向链表“0”基础知识讲解 + 实战演练
c语言·开发语言·数据结构·c++·学习·算法·链表
Q_Q51100828522 分钟前
python+uniapp基于微信小程序的学院设备报修系统
spring boot·python·微信小程序·django·flask·uni-app
将车24426 分钟前
C++实现二叉树搜索树
开发语言·数据结构·c++·笔记·学习
蓝色空白的博客37 分钟前
自动化测试脚本-->集成测试部署思路整理(1)
python·集成测试
Ching·39 分钟前
linux系统编程(十②)RK3568 socket之 TCP 客户端的实现
linux·tcp/ip·rk3568
NiKo_W42 分钟前
Linux 线程控制
linux·数据结构·内核·线程·进程·线程控制