Kivy是Python中与平台无关的GUI工具。由于它可以在Android, IOS, Linux和Windows等操作系统上运行。它基本上是用于开发Android应用程序, 但这并不意味着它不能在桌面应用程序上使用。
????Kivy教程–通过示例学习Kivy。Switch小部件:
Switch小部件是活动的或不活动的, 作为机械灯开关。用户可以向左/向右滑动以激活/停用它。
Switch表示的值为True或False。也就是说, Switch可以处于” 开” 位置或” 关” 位置。
要使用Switch, 你必须导入:
from kivy.uix.switch import Switch
将回调附加到交换机:
- Switch可以附加有回调, 以检索Switch的值。
- 开关的状态转换是从ON到OFF或从OFF到ON。
- 当switch进行任何转换时, 将触发回调, 并且可以检索新状态(即传来新状态), 并且可以基于状态采取任何其他操作。
- 默认情况下, 小部件的表示形式是静态的。所需的最小尺寸为83 * 32像素。
- 整个窗口小部件都处于活动状态, 而不仅仅是带有图形的部分。只要你在小部件的边界框上滑动, 它就会起作用。
Basic Approach:1) import kivy
2) import kivyApp
3) import Switch
4) import Gridlayout
5) import Label
6) Set minimum version(optional)
7) create Layout class(In this you create a switch):
-->
define the callback of the switch in this
8) create App class
9) create .kv file (name same as the app class):
1) create boxLayout
2) Give Lable
3) Create Switch
4) Bind a callback if needed
10) return Layout/widget/Class(according to requirement)
11) Run an instance of the class
下面是实现:
我们已经解释了如何创建按钮, 为其添加回调以及如何在使按钮处于活动/非活动状态后禁用按钮。
main.py文件:
# Program to explain how switch works# import kivy module
import kivy # base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App# this restrict the kivy version i.e
# below this kivy version you cannot
# use the app or software
kivy.require( '1.9.0' )# The Switch widget is active or inactive
# The state transition of a switch is from
# either on to off or off to on.
from kivy.uix.switch import Switch# The GridLayout arranges children in a matrix.
# It takes the available space and
# divides it into columns and rows, # then adds widgets to the resulting "cells".
from kivy.uix.gridlayout import GridLayout# The Label widget is for rendering text.
from kivy.uix.label import Label# A Gridlayout with a label a switch
# A class which contains all stuff about the switch
class SimpleSwitch(GridLayout):# number of rows
rows = 4# Callback for the switch state transition
# Defining a Callback function
# Contains Two parameter switchObject, switchValue
def switch_callback( self , switchObject, switchValue):# Switch value are True and False
if (switchValue):
print ( 'Switch is ON:):):)' )
else :
print ( 'Switch is OFF:(:(:(' )# Defining the App Class
class SwitchApp(App):
# define build function
def build( self ):
# retuen the switch class
return SimpleSwitch()# Run the kivy app
if __name__ = = '__main__' :
SwitchApp().run()
.kv文件
:在此我们完成了回调并还禁用了按钮。
# .kv file in which the whole functions of a switch
# Along with labels are present<
SimpleSwitch>
:# creating box layout for better view
BoxLayout:
size_hint_y: None
height: '48dp'# Adding label to switch
Label:
text: 'Switch normal'# creating the switch
Switch:# False means OFF and True means ON
active: False# Arranging a callback to the switch
on_active: root.switch_callback( self , self .active)# Another for another switchBoxLayout:
size_hint_y: None
height: '48dp'Label:
text: 'Switch active'
Switch:
active: True
on_active: root.switch_callback( self , self .active)BoxLayout:
size_hint_y: None
height: '48dp'Label:
text: 'Switch off &
disabled'Switch:
# disabled True means After making switch False
# it is disabled now you cannot change its state
disabled: True
active: FalseBoxLayout:
size_hint_y: None
height: '48dp'Label:
text: 'Switch on &
disabled'
Switch:
disabled: True
active: True
输出如下:
图片1
文章图片
图片2:
文章图片
显示回调的图像:
文章图片
【Python使用.kv文件在Kivy中切换小部件】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python如何在Kivy中切换小部件()
- Spring 源码学习扩展功能 下篇
- 面向对象的设计原则你不要了解一下么()
- java关键字名单
- 深入解析java反射
- VMware Workstation和vSphere简介
- #yyds干货盘点# executor包(参数处理功能)
- 设计模式铺铺路(面向对象设计的原则一二)
- #指尖人生#第四篇 模块与包