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语言构建跨平台应用程序的开发者。

界面

kivy开发一个登陆界面-LMLPHP

代码

运行环境: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 Clock


class LoginScreen(BoxLayout):
    def __init__(self, **kwargs):
        super(LoginScreen, self).__init__(**kwargs)

        self.orientation = 'vertical'
        self.padding = 50
        self.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.text
        password = self.password.text

        if 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 = message
        Clock.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()

01-05 23:03