首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

青少年编程-Python之自制计算器第十五幕

最近因为剑门关,让我和朋友们喜欢上四川人李白笔下的蜀道难,其中“锦城虽云乐,不如早还家”道出剑门山的险峻!那么对于技术人来说,常常操练自己的技术很重要,要能够达到登峰造极,需要始终磨一磨大脑,更新一下新的编程思路,总结自己,分享他人,互相获益!

最近考虑重新对Python的界面库感兴趣,不知道你听过Tkinter吗?因为他我们可以善用这利器完成基于苹果、微软、Linux跨平台界面编程。今天简单制作计算器试一下!

其实我在青少年编程-Python之自制计算器第八幕分享一篇有关计算器实践方法,相比上篇文章,这次更具体梳理实现步骤、说明其中要点并添加显示时间功能!

如果你是初学或者完全不懂,简单梳理一下实现步骤:

1>计算器部件布局   2>放置部件  3>运行起来

先看看代码实现后的效果图吧?

首先:整个界面布局分为两个部分,你看出来了吗?第一部分第一和第二行的Entry输入框控件;第二部分就是下面的不同功能按键Button控件。

其次:按着行列关系有次序放置控件。

最后:将整个控件联系起来,运行!

本次代码实现使用了Python的类方法,如果你对面对对象方法不熟悉的话,也许看不懂,请你先看看作者之前文章提及面向对象编程的内容!

看看部分代码实现吧:

class GUI:

def __init__(self,t):

self.t=t

     fm1 = tkinter.Frame(self.root)

 tkinter.Entry(fm1,textvariable=self.t,width=10).grid(row = 0, column = 0, columnspan = 4)

tkinter.Entry(fm1,textvariable=self.result,width=10).grid(row=1, column=0, columnspan=4)

fm1.pack(side=tkinter.TOP)

fm2 = tkinter.Frame(self.root)

tkinter.Button(fm2, text = "C",width=5).grid(row = 1, column = 0, columnspan = 2)

tkinter.Button(fm2, text = "%").grid(row = 1, column = 2)

fm2.pack(side = tkinter.BOTTOM)

self.root.mainloop()

说明细节:

1、Frame控件如同一个仓库需要提前安置,才能在里面放置其他子空间,代码中fm1放置了两个Entry子控件。

2、pack方法决定控件摆放位置,这代码是上下摆放(TOP-BUTTOM)。

如果你看懂了这个代码,说明你的编程能力很不错!那么可以思考几个问题培养你的理解力和思考力:

1、self.t显出出了时间,那么t怎么传进来的呢?

2、self.t传进来的时间只是读取本地时间一次的数据,如何实时显出当前时间呢?

3、目前计算器是无法进行加减乘除等运算,怎么实现呢?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230430A04I7100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券