本篇文章只是个人学习的时候的一些笔记,如果有什么错误的地方还请各位勿喷,手下留情,期待您的指正。 定期会更新文章到www.sea-whales.cn我的个人网站中,有兴趣的小伙伴可以进来看看、
1、类继承App的类名(小写)(除去App)+ .kv 例如:
pythonfrom kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.graphics import Color,Rectangle
from kivy.properties import ColorProperty, ListProperty
class LoginScreen(GridLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.cols = 2
self.rows = 6
self.add_widget(Label(text='User Name'))
self.username = TextInput(multiline=False)
self.add_widget(self.username)
self.add_widget(Label(text='password'))
self.password = TextInput(password=True, multiline=False)
self.add_widget(self.password)
self.button = Button(size=(.4, .63), text='iPaoMi', background_color=(0, 0, 1), font_size=15, color=(1, 0, 1))
self.button.bind(on_press=self.on_push)
self.add_widget(self.button)
with self.password.canvas.before:
Color(1, 0.5, 0, 0.5)
self.password = Rectangle(size=self.password.size, pos=self.password.pos)
def on_push(self, inst):
print('inst'+inst.text)
self.button.text = inst.text
self.button.height=12
class MyApp(App):
def build(self):
self.root = root = LoginScreen()
return root
if __name__ == '__main__':
MyApp().run()
本篇文章只是个人学习的时候的一些笔记,如果有什么错误的地方还请各位勿喷,手下留情,期待您的指正。 定期会更新文章到blog.sea-whales.cn我的个人网站中,有兴趣的小伙伴可以进来看看、
PageLayou布局和前面几种布局方式是有差异的,他更倾向与动态布局,使用这个布局可以创建一个简单的多页面布局。可以在这些布局之间随意跳转,此布局每个子部件都作为一个单独的页面,所以此布局并不支持size_hint和pos_hint:
例如如下:
会生成一个可以自由左右拉的按钮。
python# !/usr/bin/env python3
# -*- coding: utf-8 -*-
from kivy.uix.pagelayout import PageLayout
from kivy.app import App
from kivy.uix.button import Button
class PageLayoutWidget(PageLayout):
def __init__(self, **kwargs):
super(PageLayoutWidget, self).__init__()
btn = Button(text='btn1', background_color=[0.3,.9,.2,1])
btn2 = Button(text='btn2', background_color=[.1,.5,.4,1])
self.add_widget(btn)
self.add_widget(btn2)
class PageLayoutPyApp(App):
def build(self):
return PageLayoutWidget()
if __name__ == '__main__':
PageLayoutPyApp().run()
本篇文章只是个人学习的时候的一些笔记,如果有什么错误的地方还请各位勿喷,手下留情,期待您的指正。 定期会更新文章到blog.sea-whales.cn我的个人网站中,有兴趣的小伙伴可以进来看看、
py文件
python# !/usr/bin/env python3
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
class FloatLayoutWidget(FloatLayout):
def __init__(self):
super(FloatLayoutWidget, self).__init__()
class FloatLayoutApp(App):
def build(self):
return FloatLayoutWidget()
if __name__ == '__main__':
FloatLayoutApp().run()
kv文件
只是个人学习的时候的一些笔记,如果有什么错误的地方还请各位勿喷,手下留情,期待您的指正。 定期会更新文章到www.sea-whales.cn我的个人网站中,有兴趣的小伙伴可以进来看看
【Kivy】布局 FloatLayout、BoxLayout [学习分享](二)
【Kivy】布局 AnchorLayout、GridLayout [学习分享](三)
【Kivy】布局 PageLayout、RelativeLayout [学习分享](四)
【Kivy】布局 ScatterLayout 、StackLayout [学习分享](五)
py文件
python# !/usr/bin/env python3
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
class FloatLayoutWidget(FloatLayout):
def __init__(self):
super(FloatLayoutWidget, self).__init__()
class FloatLayoutApp(App):
def build(self):
return FloatLayoutWidget()
if __name__ == '__main__':
FloatLayoutApp().run()
只是个人学习的时候的一些笔记,如果有什么错误的地方还请各位勿喷,手下留情,期待您的指正。 定期会更新文章到blog.sea-whales.cn我的个人网站中,有兴趣的小伙伴可以进来看看
在canvas 中是可以使用Rotate指令来控制旋转操作,他与ScatterLayout布局不同,它是对整个坐标空间,因此所有的子部件都是会受到影响。在使用整个参数时,需要指定三个参数;
来试试效果:
python# !/usr/bin/env python3
# -*- coding: utf-8 -*-
# 选择平移缩放
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
class RotateGridLayoutWidget(GridLayout):
def __init__(self, **kwargs):
super(RotateGridLayoutWidget, self).__init__(**kwargs)
class RotateTranslateZoomApp(App):
def build(self):
return RotateGridLayoutWidget()
if __name__ == '__main__':
RotateTranslateZoomApp().run()