网站首页 > 开源技术 正文
1 说明
1.1 Kivy 是一个开源的开发App的跨平台的 Python 的GUI库。
1.2 Kivy 可以免费使用(目前在麻省理工学院的许可下),并获得专业支持。
1.3 可以使用相同的代码库为 Linux,Windows,OS X,Android 和 iOS 开发 Kivy 应用程序。据说很强大,估计强大的原因就是超级跨平台。
1.4 本文为系列教程1:主要介绍kivy的安装,入门级介绍:窗口,helloworld,图片展示,介绍详细,注释清楚,适合收藏。
2 准备
2.1 官网
https://github.com/kivy/kivy
https://kivy.org/
2.2 安装
pip install kivy
#本机安装
sudo pip3.8 install kivy
3 窗口
3.1 代码一:
#方法一:采用默认
from kivy.app import App
# 小惊喜:窗口标题名就是Firstwin
class FirstwinApp(App): #相同下面
#class Firstwin(App):
pass
if __name__ == "__main__":
FirstwinApp().run()
#Firstwin().run() #相同上面
3.2 代码二:
#方法二:对窗口的大小,背景颜色,标题名和图标进行设置
from kivy.app import App
from kivy.core.window import Window
Window.size=(800,1000)#窗口大小
#背景颜色是白色,颜色设置采用opengl样式
#Window.clearcolor = (1, 1, 1, 1)
#背景颜色是黑色,默认是黑色的
#Window.clearcolor = (0, 0, 0, 0)
#Window.clearcolor = (1, 1, 0, 0) #黄色
#Window.clearcolor = (1, 0, 0, 0) #红色
#Window.clearcolor = (1, 0, 1, 0) #紫色
Window.clearcolor = (0, 0, 1, 0) #蓝色
class SecondwinApp(App):
def build(self):
#修改电脑的状态栏上面app图标,自定义,也可以默认
#self.icon = '/home/xgj/Desktop/kivy/icon.png'
#认为修改窗口的标题名
self.title = 'Hello world'
if __name__ == "__main__":
SecondwinApp().run()
4 Helloworld
4.1 代码一
from kivy.app import App
from kivy.uix.label import Label
class Thirdwin(App):
def build(self):
#默认
return Label(text='Hello world')
if __name__ == '__main__':
Thirdwin().run()
4.2 代码二
from kivy.app import App
from kivy.uix.label import Label
class Fourthwin(App):
def build(self):
#显示中文,中文字体,字体大小,字体颜色,提前下载好中文字体simsun.ttf
label = Label(text='Hello World你好世界', font_name='simsun.ttf',
font_size=32,color=(.8,.9,0,1),
#字体大小
size_hint=(.5, .5),
#字体位置
pos_hint={'center_x': .5, 'center_y': .5})
return label
if __name__ == '__main__':
app = Fourthwin()
app.run()
#Fourthwin().run()
4.3 图
4.3 代码三
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
#kv文件内置法,相当于一个MyWidget类
kv = Builder.load_string('''
<MyWidget>:
Label:
text: 'Hello World你好世界'
font_size: 32
color: .8,.9,0,1
font_name:'simsun.ttf'
#字体位置
size_hint:(.5, .5)
#在这里是错误的,我的bug,why?
#pos_hint:{'center_x': .5, 'center_y': .5}
#pos_hint:({'center_x': .5}, {'center_y': .5})
#只能这样设置位置,左下角为0,0,默认窗口大小600,600
pos:300,300
''')
#MyWidget作为一个类,在kv文件内
class MyWidget(Widget):
pass
#主窗口类
class Fifthwin(App):
def build(self):
#返回MyWidget
return MyWidget()
if __name__ == "__main__":
Fifthwin().run()
4.4 代码四
#k-6.py
#控制层
from kivy.app import App
from kivy.uix.widget import Widget
#样式层:sixthwin.kv,注意是小写的six
#其实就,是将类文件写在外面的kv,分离出来,是代码看起来简单,类似css文件
#注意kv文件的文件名是小写
class MyWidget(Widget):
pass
class SixthwinApp(App):
def build(self):
return MyWidget()
if __name__ == "__main__":
SixthwinApp().run()
4.5 样式层分离出来:sixthwin.kv文件
<MyWidget>:
Label:
text: 'Hello World你好世界'
font_size: 32
color: .8,.9,0,1
font_name:'simsun.ttf'
#字体位置
size_hint:(.5, .5)
#在这里是错误的
#pos_hint:{'center_x': .5, 'center_y': .5}
#pos_hint:({'center_x': .5}, {'center_y': .5})
#只能这样设置位置,左下角为0,0,默认窗口大小600,600
pos:300,300
4.6 效果图
4.7 代码五:内置kv文件的另外一种方法
#k-5.py
#控制层
from kivy.app import App
from kivy.lang import Builder
#样式层
kv='''
#调用该函数
FloatLayout:
Label:
text: 'Hello World你好世界'
font_size: 32
color: .8,.9,0,1
font_name:'simsun.ttf'
#字体位置
size_hint:(.5, .5)
#在这里是错误的
#pos_hint:{'center_x': .5, 'center_y': .5}
#pos_hint:({'center_x': .5}, {'center_y': .5})
#只能这样设置位置,左下角为0,0,默认窗口大小600,600
pos:300,300
'''
class SixthwinApp(App):
def build(self):
return Builder.load_string(kv)
if __name__ == "__main__":
SixthwinApp().run()
5 图片展示
5.1 代码:
from kivy.app import App
from kivy.uix.image import Image
#默认窗口大小和图片大小
class Picwin(App):
def build(self):
#窗口标题名设置
self.title = '图片pic展示'
#与本代码在同一个文件夹下
img = Image(source='pic.jpeg')
return img
if __name__ == '__main__':
Picwin().run()
5.2 效果图
未完待续。
猜你喜欢
- 2024-09-16 有关休闲家具以及休闲家具的材料介绍
- 2024-09-16 顶级游戏开发框架 - Pygame、PyKyra、Pyglet、PyOpenGL和Kivy
- 2024-09-16 美式灯具要怎么选购,你们知道吗?
- 2024-09-16 思潮英文教育Kivy老师特约专栏:雅思阅读填空有它就可以了?
- 2024-09-16 INKIVY翻遍作家,打造工业风家庭工作间
- 2024-09-16 学会了Python,我们就可以开发小游戏了
- 2024-09-16 INKIVY谈INKIVY小编就为大家介绍下咖啡桌椅保养知识
- 2024-09-16 用 Python 写一个安卓 APP(python编写安卓应用)
- 2024-09-16 Python开发一个APP居然如此之简单?老王自学三月就独立开发了
- 2024-09-16 假期后半段南北方气温大面积创新低,东北西北天气寒凉
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)