kivy 笔记
没有引入App对象,就不会得到一个窗口。
kvlanguage用来构建UI界面,这个文件保存成”.kv”。
kivy用widget来描述UI元素,lable、layout等都是widget
简单一点的widget包括:
Label是展示文字
Button更加偏交互,接受点击和触屏操作
TextInput用来接受键盘输入的信息
高级一点的widget包括:
TabbedPanel或者FileChooser,他们是由其他多个widget组成的。
高级的widget通常是由Layout widget组成,Layout里面又有几个子类,比如BoxLayout,FloatLayout等。
每个KV文件里最外层的widget叫做root widget,每个KV文件里只能有一个root widget。
Lable 有一个text的特性。特性和其对应的值中间通过”:”隔开。
根widget是直接连接到kivy窗口中并在其中进行展示的;如果根widget里面存在多个子widget,也是一样进行展示的。
Layout像是一个容器,它知道如何安排存在与它里面的widgets的位置。
Layout有orientation的属性。
Layout的能接受他的子类两种尺寸参数,一种是size hints,另一种是absolute sizes.都是定义x轴y轴或者一起设置的。如下:
1.size_hint_x
2.size_hint_y
3.size_hint (tuple of size_hint_x, size_hint_y) #对boxlayout没有作用
4.width
5.height
6.size (tuple of width, height) #对box layout没有作用
任何时候在设置heigth时一定要把size_hint_y设置成NONE,width和X也是一样。如果size_hint_x/y的值没有专门设置成NONE,所设置的absolute size都是没用的。
kivy 笔记的更多相关文章
- Kivy折腾笔记
最近想用Python开发APP,选择kivy,记录过程 首先是源码安装,各种蛋疼的报错放弃了.cython高版本有问题. python3 -m pip install cython==0.23 pyt ...
- kivy file import
from kivy.app import Appfrom kivy.uix.boxlayout import BoxLayoutfrom kivy.properties import ObjectPr ...
- Kivy 自定义控件之(一)
lableSlider1.kv文件 <LabelSlider>: orientation:'vertical' BoxLayout: MyLabelSlider: name: 'Slide ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
随机推荐
- 微服务——RestTemplate
GET请求: 第一种:getForEntity: 此方法返回的是ResponseEntity,该对象是Spring对HTTP请求响应的封装. RestTemplate rt = new RestTem ...
- [js]Object.defineProperty等几个js特殊方法
Object.defineProperty var obj = { test: "hello" }; obj['favor'] = 'orange'; //对象已有的属性添加特性描 ...
- MySQL更新
1.两表更新(用一个表更新另一个表) UPDATE t_i_borrower a, t_supplier s SET a.type = s.type WHERE a.cust_id = s.cust_ ...
- Python Socket实现文件上传(TCP协议)
在TCP协议下通过socket模块实现文件上传 #!/usr/bin/env python # -*- coding: utf-8 -*- # desc: tcp_server_file_upload ...
- JAVA生成六位随机数
public static String getSixNum() { String str = "0123456789"; StringBuilder sb = new Strin ...
- 第三章Div水平居中
1.div居中 text-align:center可以让元素里面的文字内容居中,但并不能让div居中.要让div水平居中必须设置div宽度,外边距设置为margin:0 auto <%@ Pag ...
- 基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Tes ...
- vue中兄弟组件间 的传值 bus(可以理解为公共交通)
点击大儿子(头部组件的年月日,下面的都要变化) 就相当于点击了年月日之后,下面的组件重新调接口,参数变化 1.首先随便哪儿写个bus.js 内容如下: import Vue from 'v ...
- mybatis--parametertype的参数传递
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- (1)Python3笔记 数据类型之Number与String
一.Number(数值) 1) 整数 : int 2) 浮点数: float type(1) //int type(1.0) // float type(1+1) // int , 2 type(1+ ...