当前位置: 首页 > news >正文

kivy开发一个登陆界面

Kivy

Kivy是一个用于开发跨平台移动应用(如Android和iOS)以及桌面应用(如Windows、Linux和macOS)的Python框架。它采用开源许可证(MIT许可证),提供了丰富的图形界面组件和工具,以便开发者能够创建具有良好用户体验的应用程序。
以下是Kivy的一些主要特点:
跨平台: Kivy支持多个平台,包括Android、iOS、Windows、Linux和macOS,使开发者能够在不同设备上部署他们的应用。
开源: Kivy是一个开源项目,允许开发者自由使用、修改和分发代码。
Python语言: Kivy使用Python作为主要开发语言,这使得开发者能够使用简洁、高效的语法来构建应用。
多点触控: Kivy支持多点触控,适用于触摸屏设备,使得应用能够充分利用现代移动设备的交互功能。
丰富的UI组件: Kivy提供了各种UI组件,如按钮、文本框、滑块等,以及支持用户自定义UI组件的能力。
图形渲染: Kivy使用OpenGL进行图形渲染,这使得应用能够具有良好的性能和视觉效果。
简化的布局语言: Kivy使用一种简单的布局语言,称为Kv语言,用于定义应用程序的界面结构。
开发速度: 由于采用Python语言,开发者可以更快地迭代和开发原型,提高开发速度。
总的来说,Kivy是一个强大而灵活的工具,适用于那些希望使用Python语言构建跨平台应用程序的开发者。

界面

在这里插入图片描述

代码

运行环境:python 3.9

# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.clock import Clockclass LoginScreen(BoxLayout):def __init__(self, **kwargs):super(LoginScreen, self).__init__(**kwargs)self.orientation = 'vertical'self.padding = 50self.spacing = 10# 添加用户名输入框self.add_widget(Label(text='手机号:', font_name='simhei.ttf'))self.username = TextInput(hint_text='输入手机号', font_name='simhei.ttf', input_type='number', multiline=False, height=30)self.add_widget(self.username)# 添加密码输入框self.add_widget(Label(text='密码(六位数字):', font_name='simhei.ttf'))self.password = TextInput(hint_text='输入密码', font_name='simhei.ttf', password=True, input_type='number', multiline=False, height=30)self.add_widget(self.password)# 添加登录按钮self.login_button = Button(text='登录', font_name='simhei.ttf', size_hint=(None, None), height=30)self.login_button.bind(on_press=self.login)self.add_widget(self.login_button)# 提示标签self.toast_label = Label(text='', font_name='simhei.ttf', halign='center', valign='middle', size_hint_y=None, height=30)self.add_widget(self.toast_label)def login(self, instance):username = self.username.textpassword = self.password.textif len(username) == 11 and username.isdigit() and len(password) == 6 and password.isdigit():self.show_toast('登录成功\n用户名:{username}\n密码:{password}')else:self.show_toast('登录失败,请检查用户名和密码格式')def show_toast(self, message, duration=2):self.toast_label.text = messageClock.schedule_once(self.clear_toast, duration)def clear_toast(self, dt):self.toast_label.text = ''class LoginApp(App):def build(self):return LoginScreen()if __name__ == '__main__':LoginApp().run()

相关文章:

  • 12.30_黑马数据结构与算法笔记Java
  • Java:IO流——字节流和字符流
  • Qlib从入门到精通
  • 2022年全国职业院校技能大赛高职组云计算正式赛卷第三场-公有云
  • pytorch01:概念、张量操作、线性回归与逻辑回归
  • 【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields
  • x-cmd-pkg | 音视频处理领域中常用的开源转换工具:ffmpeg
  • Kubernetes 学习总结(43)—— Kubernetes 从提交 deployment 到 pod 运行的全过程
  • SpringBoot 集成 Kafka消息中间件,Docker安装Kafka环境
  • Eureka相关面试题及答案
  • Jenkins 系列:Jenkins 安装(Windows、Mac、Centos)和简介
  • C++基础-文件读写操作详解
  • SpringBoot 请求参数
  • pycharm配置pyrcc5外部工具
  • 详解数组的轮转
  • ES6指北【2】—— 箭头函数
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Android单元测试 - 几个重要问题
  • Apache Zeppelin在Apache Trafodion上的可视化
  • C学习-枚举(九)
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • miaov-React 最佳入门
  • Nodejs和JavaWeb协助开发
  • Phpstorm怎样批量删除空行?
  • React组件设计模式(一)
  • select2 取值 遍历 设置默认值
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SQLServer之创建数据库快照
  • use Google search engine
  • 给Prometheus造假数据的方法
  • 简析gRPC client 连接管理
  • 前端设计模式
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 协程
  • 云大使推广中的常见热门问题
  • 怎样选择前端框架
  • 自定义函数
  • 7行Python代码的人脸识别
  • 我们雇佣了一只大猴子...
  • (33)STM32——485实验笔记
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)终结任务
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (转)jQuery 基础
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .net 程序发生了一个不可捕获的异常
  • .NET大文件上传知识整理
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET正则基础之——正则委托
  • .考试倒计时43天!来提分啦!
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]