kivy学习笔记-基础篇

    写kivy应用,一般使用kv语言(可以认为是Python的简化写法)定义图形化组件,并结合Python程序来实现应用程序。kv语言的源文件也是一个文本文件,文件的扩展名为.kv,而kivy程序在启动时会自动搜索和应用kv语言文件。而他们之间的关联方法是程序的主类名App之前的名称,对应kv语言文件的名称。具体参考以下实例,同时,以下代码实例也展示了kivy应用的基本结构:

# file name: My.kv
MyForm:        # 顶级GUI部件类
<MyForm>:      # 定义MyForm类
    orientation:"vertical"    # 定义orientation属性的值
    text_input:text_box       # 定义用于外部引用的名称,指向id为text_box的GUI部件

    BoxLayout:                # 定义子GUI部件
        height:"40dp"         # 高度
        size_hint_y:None      # 纵向占比

        TextInput:
            id:text_box
            size_hint_x:50  # 横向占比(多个同级GUI部件的占比比例来分配实际大小)

        Button:
            text:"Button A"
            size_hint_x:25
            on_press:root.buttona_act()   # 指定Button被按下时执行的方法

        Button:
            text:"Button B"
            size_hint_x:25
# file name: main.py

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty

class MyForm(BoxLayout):  # 此处类定义虽然为空,但会将my.kv的GUI定义的相关“程序”引入,即相当于在此定义
    pass

class MyApp(App):         # 类名MyApp 在运行时正好自动载入对应的my.kv文件
    text_input = ObjectProperty()   # 在类中添加text_input属性,对应kv文件中用于外部引用的名称,最终指向对应id的GUI部件
    def buttona_act(self):
        print(self.text_input.text) # 获取text_input所指向GUI部件的text值,并打印到控制台

MyApp().run()
    其他相关解释,请参考程序文件中的注释。


你是一名计算机专业的学生,在《移动应用开发》这门课中,你要完成一项课程设计,内容如下:《移动应用开发综合实践》课程设计任务书 一、任务概述 1、项目名称:我的笔记本 2、项目概述: 本项目需要设计开发一款类似印象笔记、OneNote 笔记等可以记录笔记的 APP。项目 需要基于 Android 技术开发。在项目中用户可以注册用户、登录、创建笔记本、记录笔记、 搜索笔记等功能。例如在 APP 中可以创建数学笔记本,笔记本中每笔记可以记录每堂课 的内容;例如创建工作笔记本,笔记本中可以记录每天的工作情况等。项目详细功能分为必 须完成的基本功能需求和选做的扩展功能需求。 3、基本功能需求(必须完成) 基本功能是用户可以通过以下为功能以文字的方式记录笔记内容。是必须完成开发的。 本课程需要完成以下基本功能,才能通过。 (1) 用户注册:新用户使用用户名、密码、进行注册,注册成功后拥有一个账号。 (2) 用户登录:用户通过用户名,密码登录。登录成功后可以使用自己的笔记本。 (3) 新建项目:用户在可以自己的笔记本中创建多个项目。例如考研资料收集,日常事 务,Android 课程资料等等。 (4) 修改项目:可以修改项目的名称。 (5) 删除项目:可以将某个项目删除,如果该项目删除,则该项目下所有笔记都被删除。 (6) 新建笔记:用户可以在某个项目中创建笔记,须包含笔记名称,笔记内容,系统自 动获取保存笔记的最新保存时间。 (7) 修改笔记:可以对已存在的笔记标题、内容进行修改。 (8) 删除笔记:用户可以删除过期,不使用的笔记。 (9) 笔记搜索:可以按照关键词搜索笔记标题。4、扩展功能需求(选做) 在完成基础功能需求的前提下,完成下列功能可以加分,提升成绩!大家可以选做某个 大模块的所有功能,也可以选做某个大模块下的其中的子模块。 (1)笔记本数据采用基于网络存储的云笔记本。 基本功能需求中的数据可以存储在手机上,但这有个问题,即换了手机即使重新安装了 APP 也无法获取以前的笔记了。云笔记本即数据存储在服务器上。用户使用任何一台安装 《我的笔记本》APP 的手机,登录成功后即可以从服务器同步所有以前的笔记本与笔记内 容。新建的笔记本数据、修改的笔记本数据、删除的数据可以同步到服务器上。 (2)图片笔记。 用户在笔记中可以记录图片笔记。其子功能如下: ①手机拍照上传图片,将图片存储在笔记中。 ②从照片库中选择图片,将图片存储在笔记本中。 ③图片编辑。可以对笔记中的图片进行编辑(缩放、旋转、翻转、剪切等功能) ④图片涂鸦。在图片上可以书写文字涂鸦记录心得等。 ⑤对图片中的文字进行 OCR 识别。提取图片中的文字,提取可以进行编辑然后记入或 存储在笔记中。 ⑥手写图片识别,识别提取图片中的手写文字,编辑后存入笔记中 (3)语音笔记 用户可以在笔记中进行手机录音,将语音识别成文字,编辑手存储在笔记中,其子功能 如下: ①手机录音。用户在 APP 中可以进行听课或会议录音。例如可以笔记本可以是“XX 会 议”。用户可以对会议进行录音,每 10 分钟一条录音,打开该笔记本可以列出所有录音列 表。每条录音包括:自动生成的标题,时长,录音时间等。例如:毕业设计第 1 条录音, 10 分钟,时间:2025-10-01。用户点击录音即可播放录音内容。 ②语音识别。用户选择某条录音,对录音内容进行识别后转成文字,编辑后存入笔记中。(4)定时提醒。 用户可以对某个笔记中的事务设置提醒,到达计划时间后 APP 弹屏可播放声音对用户 就事务进行提醒。 (5)收藏笔记。 用户可以对某些重要的笔记进行收藏,方便查到与回看。 二、任务说明 (1)基本功能是必须要完成的。基本功能中数据可以存储在手机上(单机版),也可以使用 服务器进行存储(云笔记)。单机版可以采用 sqlite 数据库存储。 (2)云笔记的服务器端可以采用(JSP+Servlet+Tomcat)方式或 SpringBoot 或使用 Bmob 等网络开放平台。 (3)云笔记的实现架构,请自行查找参考相关文献,具体关键词可以通过“android http”,”Android post”方式、android+web 方式、Android 与服务器、Bmob 等。 (4)评分说明:首先必须要完成所有基本功能。在完成基本功能的基础上完成扩展功能 或将基本功能数据采用云笔记的方式存储,才可以加分。 (5)界面在总体按照上述要求的基础上可自由设计,越美观越好。 (6)每 1 位同学为一组,每位同学必须独立完成本课程设计,不得抄袭复制他人成果。 否则不记成绩。 三、报告书要求 (1)课程报告书的标题,请标注开发的有哪些功能。标题内容格式: 我的笔记本(基本版) 我的笔记本(基本版+扩展版) (2)请根据报告书的要求,完成所有部分需要完成的内容,其中系统设计(功能有设计、 数据库设计)为必填项。 3 移动应用开发综合实践-任务书(V1.2-2025.06.17) 制作者:陆培军 (3)认真完成课程设计报告书,报告书的第 4 部分,请按照课程设计报告书所给模板, 详细完成每个部分。详细给出功能描述,UML 设计图、文字说明、数据库设计(E-R 图、表) 并配以文字描述。 (4)报告书中代码部分,请给出核心代码,并对代码作注释与说明,可以不需要全部 代码。 (5)请在报告书中完成本项目的参考书目。 (6)请勿改动《报告书》的任何格式,严格按照模板要求。模板正文红色文字部分是 必须要完成,请使用“宋体、5 号字、1.5 倍行距”。代码请使用“Times New Roman 字 体,五号字体,1 倍行距”。请排版整齐。代码请使用 https://word.wd1x.com/,格式化 后截图,粘贴到报告书中。 在以上要求中,选做的部分可以不用全部完成,你分析并挑选一到两个最容易实现的要求完成,要求给出完整且能运行的代码,并且给出最后运行的示例
最新发布
06-28
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值