1说明 1。1Kivy是一个开源的开发App的跨平台的Python的GUI库。 1。2Kivy可以免费使用(目前在麻省理工学院的许可下),并获得专业支持。 1。3可以使用相同的代码库为Linux,Windows,OSX,Android和iOS开发Kivy应用程序。据说很强大,估计强大的原因就是超级跨平台。 1。4本文为系列教程1:主要介绍kivy的安装,入门级介绍:窗口,helloworld,图片展示,介绍详细,注释清楚,适合收藏。 2准备 2。1官网https:github。comkivykivyhttps:kivy。org 2。2安装pipinstallkivy本机安装sudopip3。8installkivy pic。jpeg 3窗口 3。1代码一:方法一:采用默认fromkivy。appimportApp小惊喜:窗口标题名就是FirstwinclassFirstwinApp(App):相同下面classFirstwin(App):passifnamemain:FirstwinApp()。run()Firstwin()。run()相同上面 3。2代码二:方法二:对窗口的大小,背景颜色,标题名和图标进行设置fromkivy。appimportAppfromkivy。core。windowimportWindowWindow。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)蓝色classSecondwinApp(App):defbuild(self):修改电脑的状态栏上面app图标,自定义,也可以默认self。iconhomexgjDesktopkivyicon。png认为修改窗口的标题名self。titleHelloworldifnamemain:SecondwinApp()。run() 4Helloworld 4。1代码一fromkivy。appimportAppfromkivy。uix。labelimportLabelclassThirdwin(App):defbuild(self):默认returnLabel(textHelloworld)ifnamemain:Thirdwin()。run() 4。2代码二fromkivy。appimportAppfromkivy。uix。labelimportLabelclassFourthwin(App):defbuild(self):显示中文,中文字体,字体大小,字体颜色,提前下载好中文字体simsun。ttflabelLabel(textHelloWorld你好世界,fontnamesimsun。ttf,fontsize32,color(。8,。9,0,1),字体大小sizehint(。5,。5),字体位置poshint{centerx:。5,centery:。5})returnlabelifnamemain:appFourthwin()app。run()Fourthwin()。run() 4。3图 4。3代码三fromkivy。appimportAppfromkivy。uix。widgetimportWidgetfromkivy。langimportBuilderkv文件内置法,相当于一个MyWidget类kvBuilder。loadstring(MyWidget:Label:text:HelloWorld你好世界fontsize:32color:。8,。9,0,1fontname:simsun。ttf字体位置sizehint:(。5,。5)在这里是错误的,我的bug,why?poshint:{centerx:。5,centery:。5}poshint:({centerx:。5},{centery:。5})只能这样设置位置,左下角为0,0,默认窗口大小600,600pos:300,300)MyWidget作为一个类,在kv文件内classMyWidget(Widget):pass主窗口类classFifthwin(App):defbuild(self):返回MyWidgetreturnMyWidget()ifnamemain:Fifthwin()。run() 4。4代码四k6。py控制层fromkivy。appimportAppfromkivy。uix。widgetimportWidget样式层:sixthwin。kv,注意是小写的six其实就,是将类文件写在外面的kv,分离出来,是代码看起来简单,类似css文件注意kv文件的文件名是小写classMyWidget(Widget):passclassSixthwinApp(App):defbuild(self):returnMyWidget()ifnamemain:SixthwinApp()。run() 4。5样式层分离出来:sixthwin。kv文件MyWidget:Label:text:HelloWorld你好世界fontsize:32color:。8,。9,0,1fontname:simsun。ttf字体位置sizehint:(。5,。5)在这里是错误的poshint:{centerx:。5,centery:。5}poshint:({centerx:。5},{centery:。5})只能这样设置位置,左下角为0,0,默认窗口大小600,600pos:300,300 4。6效果图 4。7代码五:内置kv文件的另外一种方法k5。py控制层fromkivy。appimportAppfromkivy。langimportBuilder样式层kv调用该函数FloatLayout:Label:text:HelloWorld你好世界fontsize:32color:。8,。9,0,1fontname:simsun。ttf字体位置sizehint:(。5,。5)在这里是错误的poshint:{centerx:。5,centery:。5}poshint:({centerx:。5},{centery:。5})只能这样设置位置,左下角为0,0,默认窗口大小600,600pos:300,300classSixthwinApp(App):defbuild(self):returnBuilder。loadstring(kv)ifnamemain:SixthwinApp()。run() 5图片展示 5。1代码:fromkivy。appimportAppfromkivy。uix。imageimportImage默认窗口大小和图片大小classPicwin(App):defbuild(self):窗口标题名设置self。title图片pic展示与本代码在同一个文件夹下imgImage(sourcepic。jpeg)returnimgifnamemain:Picwin()。run() 5。2效果图 未完待续。