把你的kv语言和你的python代码连接起来

把你的kv语言和你的python代码连接起来

这个菜谱将要告诉你如何将你的kv语言和python代码连接起来。Kivy提供了一个设计语言,专门旨在提供易用的和可伸缩的GUI设计。KV语言旨在把界面设计从应用程序逻辑中区分开来,坚持关注分离的原则,这样一来,应用程序留给Python,而设计留给KV语言。

【做好准备】

这个菜谱将要创建一个与建立你的界面这个章节中的菜谱所获得的一样得的界面,但是现在使用的是kv语言。因此,看看这儿的代码来做一些相关的比较是有教育意义的。再一次我们将使用gedit,还是因为几乎所有的GNU/Linux版本都有她。

【怎样做?】

这些步骤将会使用kv语言生成我们的kivy界面:

1.gedit中打开一个新的文件,并把它保存为e4.kv#原文中的错误:e4.py

2.为标签制造一个规则。

3.为标签提供文字内容。:

       <Label>:

           text: 'Hello World'

4.gedit中打开一个新的文件并把它保存为e4.py.

5.导入kiviy框架。

6.app类提供一个子类。

7.编译她的build()方法,这样就可以返回小部件的实例。

8.实例化这个类并且调用她的run()方法:

       import kivy

       kivy.require('1.9.0')

       from kivy.app import App

       from kivy.uix.label import Label

       class e4App(App):

           def build(self):

               return Label()

       if __name__ == '__main__':

           e4App().run()

【他是怎样运行的?】

让我们从细节上分析一下这个代码。文件e4.kv第一行代码是:

<Label>:

这一行代码创建了label的规则。

第二行代码是:

 text: 'Hello World'

在这里我们使用数值HelloWorld定义了label的文本属性。

Now, the first four lines of the Python file are the common ones to use Kivy in Python, and we already reviewed them in this chapter recipe Building your Interfaces. Moving on to the fifth line:

这之前的四行Python代码在我们使用kv的时候是很常见的。在创建我们界面的时候已经了解到了他们,现在我们移到第五行代码:

   class e4App(App):

在这里定义了我们的kivy app的基础类。在这一行中,你应该需要将你的app的名字改为e4app。这儿就是Kv语言和Python代码发生关联的地方。随之发生的事情是kivy会寻找一个名叫e4.kv的文件,而不管他是否在或者不在。

这第六行代码是:

   def build(self):

这是一个函数,通过他你就初始化并返回了你的最基础的小部件。

这是我们在第七行做的事情:

   return Label()

在这里我们初始化了一个Label,并且返回了他的实例。这个label是这个应用程序的基础小部件,而且在kv文件中它必须是相同的。

现在来到了这一部分,让我们在第八和第九行中使我们的应用程序运行起来。

   if __name__ == '__main__':

       e4App().run()

这样类就被初始化了,方法也被调用。我们的kiwi应用程序就初始化并启动了。

【还有更多……】

Kv文件的文件名必须是这样设置:添加kv文件的名称和app在一起成为app类的子类的名字。比如,如果你改变名称为Win1App,那么你应该也改变kv文件的名称为Win1.kv。需要指出的是,我们可以将KV代码与类生成器合并到Python文件中。我们只需在Python代码的第四行和第五行之间添加几行,即可导入生成器包和方法重写,如下所示:

   from kivy.lang import Builder

   Builder.load_string('''

       <Label>:

           text: 'Hello World'

''')

【还看看】

如果你想要运行你的界面,看一看我们运行代码的菜谱,然后比较一下结果,看看和之前建立你的界面时的菜谱运行的结果是否一样。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值