【Python】GUI:Kivy库环境安装与示例

????★,°:.☆( ̄▽ ̄)/$:.°★ ????
这篇文章主要介绍kivy库环境安装与示例。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路????

文章目录

    • :smirk:1. kivy介绍
    • :blush:2. 环境安装与配置
    • :satisfied:3. 应用示例

????1. kivy介绍

Kivy 是一个开源的 Python 库,用于开发多点触控应用程序和跨平台的用户界面。它支持多种操作系统,包括 Windows、macOS、Linux、Android 和 iOS,非常适合用于移动设备和桌面应用程序的开发。

主要特点

1.跨平台支持:Kivy 支持在多个平台上运行,允许开发者使用相同的代码构建桌面和移动应用程序。

2.丰富的用户界面:Kivy 提供了大量的用户界面控件和组件,如按钮、标签、文本框、图像等,可以轻松创建复杂的用户界面。

3.多点触控支持:Kivy 专为触摸屏优化,支持多点触控和手势识别,适合开发需要触控操作的应用。

4.高性能:Kivy 使用 OpenGL ES 2 进行渲染,能够提供良好的性能和流畅的动画效果。

5.灵活的布局:提供多种布局管理器,如 BoxLayout、GridLayout 和 FloatLayout,帮助开发者快速设计响应式界面。

6.易于扩展:可以与其他 Python 库集成,例如 NumPy、Pandas 和 Matplotlib,从而增强应用的功能。

????2. 环境安装与配置

通过pip安装:pip install kivy

????3. 应用示例

第一个kivy用户界面:

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text='Hello World, this is kivy demo')

    def on_start(self):
        print('on_start')

if __name__ == '__main__':
    MyApp().run()

基于kivy的BMI质量指数计算界面:

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.metrics import dp


class BMIApp(App):
    def build(self):
        self.title = 'BMI Calculator'

        # 主布局
        layout = BoxLayout(orientation='vertical', padding=dp(20), spacing=dp(20))

        # 标题
        title_label = Label(text='BMI Calculator', font_size=24, size_hint=(1, 0.1))

        # 输入框和标签
        weight_label = Label(text='Weight (kg):', size_hint=(0.4, None), height=dp(40), font_size=18)
        self.weight_input = TextInput(hint_text='Enter weight', multiline=False, size_hint=(0.6, None), height=dp(40),
                                      font_size=18)

        height_label = Label(text='Height (cm):', size_hint=(0.4, None), height=dp(40), font_size=18)
        self.height_input = TextInput(hint_text='Enter height', multiline=False, size_hint=(0.6, None), height=dp(40),
                                      font_size=18)

        # 计算按钮和结果显示标签
        calculate_button = Button(text='Calculate BMI', size_hint=(1, 0.15), font_size=20)
        calculate_button.bind(on_press=self.calculate_bmi)

        self.result_label = Label(text='', font_size=24, size_hint=(1, 0.2))

        # 添加到主布局
        layout.add_widget(title_label)
        layout.add_widget(weight_label)
        layout.add_widget(self.weight_input)
        layout.add_widget(height_label)
        layout.add_widget(self.height_input)
        layout.add_widget(calculate_button)
        layout.add_widget(self.result_label)

        return layout

    def calculate_bmi(self, instance):
        try:
            weight = float(self.weight_input.text)
            height = float(self.height_input.text) / 100  # 转换为米
            bmi = weight / (height * height)

            # 判断BMI范围并给出提示
            if bmi < 18.5:
                category = 'Underweight'
            elif bmi < 24.9:
                category = 'Normal weight'
            elif bmi < 29.9:
                category = 'Overweight'
            else:
                category = 'Obesity'
            self.result_label.text = f'Your BMI: {bmi:.2f}\nCategory: {category}'
        except ValueError:
            self.result_label.text = 'Invalid input. Please enter valid numbers.'


if __name__ == '__main__':
    BMIApp().run()

请添加图片描述

以上。

上一篇:python+appium+雷电模拟器安卓自动化及踩坑