用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的方法,通过以上实验,证明该方法是有效的,本文的仍有方法不足或考虑不周的地方,图形界面的画法有各种各样的方法来画,并不局限于此,未来可以继续研究更加高级简便的方法。

相关推荐
Blood_J25 分钟前
python网络爬虫
开发语言·爬虫·python
等等,要下雨27 分钟前
linux安装ollama
linux·运维·服务器
野生胡萝卜31 分钟前
处理Excel表不等长时间序列用tsfresh提取时序特征
python·excel·tsfresh
程序猿chen32 分钟前
安全岗の夺命连环问:(第壹篇)从XSS到0day的灵魂拷问
前端·git·安全·面试·跳槽·xss·改行学it
xiaowu0801 小时前
C# task任务异步编程提高UI的响应性
开发语言·c#
前端_yu小白1 小时前
js异步机制
前端·javascript·async·promise·await·js异步·回调地狱
Spider Cat 蜘蛛猫1 小时前
chrome extension开发框架WXT之WXT Storage api解析【补充说明一】
前端·javascript·chrome
kill bert3 小时前
Java八股文背诵 第四天JVM
java·开发语言·jvm
zhanghongyi_cpp4 小时前
4. “3+3”高考选考科目问题
python
低头专研5 小时前
Markdown标题序号处理工具——用 C 语言实现
c语言·开发语言·typora·markdown文件标题编号·md文件标题序号