利用内置的tkinter/Tkinter库可实现基本的GUI程序。

示例图

源代码

#coding=utf8

"""

@author:kinegratii

"""

try:

from tkinter import *

except ImportError:

from Tkinter import *

class Cal(Frame):

def __init__(self):

Frame.__init__(self)

self.pack(expand = YES,fill = BOTH)

self.master.title('Calculator By Kinegratii')

self.master.geometry('400x400')

self.draw()

def add_button(self,parent,side,text,command = None):

b = Button(parent,text = text,command = command)

b.pack(side = side,expand = YES,fill = BOTH)

return b

def add_frame(self,parent,side):

f = Frame(parent)

f.pack(side = side,expand = YES,fill = BOTH)

return f

def draw(self):

res = StringVar()

cc = StringVar()

e = Entry(self,relief = SUNKEN,textvariable = cc)

e.pack(side = TOP,expand = YES,fill = BOTH)

r = Entry(self,relief = SUNKEN,textvariable = res)

r.pack(side = TOP,expand = YES,fill = BOTH)

charArray = ("123+","456-","789*","-0./","%()")

for vx in charArray:

keyF = self.add_frame(self,TOP)

for char in vx:

self.add_button(keyF,LEFT,char,

lambda o = cc,s = '%s'%char:self.show_result(o,s))

self.add_button(keyF,LEFT,'=',lambda o = cc,r = res,s = self:s.cal(o,r))

keyF = self.add_frame(self,TOP)

self.add_button(keyF,LEFT,'Clear',

lambda o = cc,r = res:(o.set('0'),res.set('0')))

self.add_button(keyF,LEFT,'Del',

lambda o = cc:o.set(o.get()[0:-1]))

self.add_button(keyF,LEFT,'Demo',None)

Str = 'By Kinegratii,2013-02-26/Python-V3.2/2.7'

self.add_button(keyF,LEFT,'Help',lambda r = res:r.set(Str))

def show_result(self,cc,char):

s = cc.get()

if s == '0':

s = ''

s += char

cc.set(s)

def cal(self,cc,r):

try:

r.set(eval(cc.get()))

except Exception:

r.set("ERROR")

def main():

Cal().mainloop()

if __name__ == '__main__':

main()

pythongui做计算器_python GUI之简易计算器相关推荐

  1. pythontkinter做计算器_Python Tkinter实现简易计算器功能

    闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的, ...

  2. python表达式计算器_Python正则表达式实现简易计算器功能示例

    本文实例讲述了Python正则表达式实现简易计算器功能.分享给大家供大家参考,具体如下: 需求:使用正则表达式完成一个简易计算器. 功能:能够计算简单的表达式. 如:1*2*((1+2)/(2+3)+ ...

  3. pythongui做计算器_Python——GUI编程 利息计算器 作业9(python programming)

    importsysfrom PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * classcal ...

  4. 基于MATLAB的GUI设计简易计算器

    MATLAB语言基于GUI设计简易计算器 GUI界面的设置 主页----新建----应用程序----GUIDE 进入下图所示界面 点击确定,即可生成GUI设计界面. 设计计算器界面,放置按键和显示屏, ...

  5. MATLAB GUI学习———简易计算器

    暑假快要过完了才想起来学习,最近刚好接触到MATLAB中的GUI,觉得还挺有意思的,今天就用GUI产生了一个简易的计算器,实现了基本的加.减.乘.除运算.由于是新手小白,所以刚刚开始的时候,我是在网上 ...

  6. android studio线性布局做计算器,Android studio设计简易计算器

    本文实例为大家分享了Android studio设计简易计算器的具体代码,供大家参考,具体内容如下 效果显示: 第一步,简单的界面布局 xmlns:tools="http://schemas ...

  7. java swing gui 实现简易计算器 当按下“=”时能实现两个数的加减乘除

    实现简易计算器 当按下"="时能实现两个数的加减乘除 import javax.swing.*; import java.awt.*; import java.awt.event. ...

  8. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

    开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...

  9. android计算器弹窗,android实现简易计算器

    本文实例为大家分享了android实现简易计算器展示的具体代码,供大家参考,具体内容如下 效果图: 一.如图,首先布局计算器主页显示 activity_main.xml xmlns:tools=&qu ...

最新文章

  1. javascript publish/subscribe or observer pattern
  2. 计算机网络中各层的协议图表(TCP/IP)
  3. Hadoop新手篇:hadoop入门基础教程
  4. c++11编码规范 NULL还是nullptr
  5. [Bzoj2243][SDOI2011]染色(线段树树剖)
  6. “智慧法院”数据融合分析与集成应用
  7. C++判断进程id是否存在
  8. ResNeXt - Aggregated Residual Transformations for Deep Neural Networks
  9. 剑指offer——29.顺时针打印矩阵(不熟)
  10. Memcache的 简介
  11. mybatis 之 parameterType=list
  12. Linux Centos7 测试硬盘IO速度
  13. EDA和数据挖掘实战:漫威与 DC电影收视率和票房分析
  14. 网站建设应该怎样建?建站流程说明
  15. VueDemo-12.加入购物车
  16. Microsoft Excel 教程:如何在 Excel 中筛选区域或表中的数据?
  17. 前沿科技-混合现实(MR)远程协作辅助工具:微缩虚拟形象Mini-Me
  18. 【转】Google Page Rank 算法(转载) - 北溟居 - CSDN博客
  19. 全面了解WDM波分复用
  20. 【吐血整理】数据库的完整性

热门文章

  1. MySQL启动关闭服务巨慢,这样解决!
  2. PostgreSQL实际场景的十大缺陷你知道吗?
  3. 包邮送50本畅销书,涵盖数据库、Python、机器学习等!
  4. 让数据大白于天下:GCC插件实现代码分析和安全审计
  5. 大力出奇迹,揭秘昇腾CANN的AI超能力
  6. ReScript 与 TypeScript,谁是前端圈的“当红辣子鸡”
  7. 如何只用一个小时定制一个行业AI 模型?
  8. 【华为云技术分享】【玩转Atlas200DK系列】应用开发之 交叉编译第三方库并在工程中使用(jsoncpp)
  9. python让你再也不为文章配图与素材发愁,让高清图片占满你的硬盘! #华为云·寻找黑马程序员#
  10. #华为云·寻找黑马程序员#【代码重构之路】使用Pattern的正确姿势