Kivy是Python中与平台无关的GUI工具。由于它可以在Android, IOS, Linux和Windows等操作系统上运行。它基本上是用于开发Android应用程序, 但这并不意味着它不能在桌面应用程序上使用。
????Kivy教程–通过示例学习Kivy。在本文中, 我们将学习如何使用Kivy创建一个简单的计算器。
先决条件:1)数学基础知识
2)Python
3)Kivy
4)小部件和代码对Kivy的理解
Basic approach to make A calculator:1) import kivy
2) import kivyApp
3) import Gridlayout
4) import config(to configure/adjust the window size)
5) Set minimum version(optional)
6) Create Layout class :
define Calculator function in it
: In this i am using try-catch because if any arithmetic
exception occur it will through the error7) create App class
8) create .kv file (name same as the app class):
1) create buttons
2) Add the style to the buttons
3) Add fuctionalties of the button
9) return Layout/widget/Class(according to requirement)
10) Run an instance of the class
该方法的实施:
main.py
# Program to create a calculator # Program to Show how to create a switch
# import kivy module
import kivy# base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App # this restrict the kivy version i.e
# below this kivy version you cannot
# use the app or software
kivy.require( '1.9.0' ) # for making multiple bttons to arranging
# them we are using this
from kivy.uix.gridlayout import GridLayout# for the size of window
from kivy.config import Config# Setting size to resizable
Config. set ( 'graphics' , 'resizable' , 1 )
## Config.set('graphics', 'width', '400')
## Config.set('graphics', 'height', '400')# Creating Layout class
class CalcGridLayout(GridLayout):# Function called when equals is pressed
def calculate( self , calculation):
if calculation:
try :
# Solve formula and display it in entry
# which is pointed at by display
self .display.text = str ( eval (calculation))
except Exception:
self .display.text = "Error"# Creating App class
class CalculatorApp(App):def build( self ):
return CalcGridLayout()# creating object and running it
calcApp = CalculatorApp()
calcApp.run()
计算器
# Custom button
<
CustButton@Button>
:
font_size: 32# Define id so I can refer to the CalcGridLayout
# class functions
# Display points to the entry widget
<
CalcGridLayout>
:
id : calculator
display: entry
rows: 6
padding: 10
spacing: 10# Where input is displayed
BoxLayout:
TextInput:
id : entry
font_size: 32
multiline: False# When buttons are pressed update the entry
BoxLayout:
spacing: 10
CustButton:
text: "7"
on_press: entry.text + = self .text
CustButton:
text: "8"
on_press: entry.text + = self .text
CustButton:
text: "9"
on_press: entry.text + = self .text
CustButton:
text: "+"
on_press: entry.text + = self .textBoxLayout:
spacing: 10
CustButton:
text: "4"
on_press: entry.text + = self .text
CustButton:
text: "5"
on_press: entry.text + = self .text
CustButton:
text: "6"
on_press: entry.text + = self .text
CustButton:
text: "-"
on_press: entry.text + = self .textBoxLayout:
spacing: 10
CustButton:
text: "1"
on_press: entry.text + = self .text
CustButton:
text: "2"
on_press: entry.text + = self .text
CustButton:
text: "3"
on_press: entry.text + = self .text
CustButton:
text: "*"
on_press: entry.text + = self .text# When equals is pressed pass text in the entry
# to the calculate function
BoxLayout:
spacing: 10
CustButton:
text: "AC"
on_press: entry.text = ""
CustButton:
text: "0"
on_press: entry.text + = self .text
CustButton:
text: "="
on_press: calculator.calculate(entry.text)
CustButton:
text: "/"
on_press: entry.text + = self .text
BoxLayout:
CustButton:
font_size: 20
text: "Scientific calculator"
on_press: entry.text = ""
输出如下:
文章图片
【Python如何使用Kivy制作计算器()】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- 如何使对象有资格使用Java进行垃圾回收()
- linux 下 自动化跑压测脚本
- 百亿级监控场景大数据分位值计算实践
- #yyds干货盘点# 简单化MySQL优化小妙招
- JAVA SE——对String类的深入理解
- 教大家用 Springboot 集成 slf4j 进行项目日志记录
- (运维服务)高可用keepalived配置实战
- (运维服务)高可用keepalived技术介绍
- Exsi 封装网卡驱动