标签: kivy

适用于Android应用程序的Kivy和Java之间的区别

对于有一些使用java创建Android应用程序的经验的python开发人员.我想创建一个小应用程序,访问我的大学门户网站并检索一些数据,以便在Android上轻松访问它.

1)哪一个开发Android应用程序更容易,更快?

2) Kivy是否有限制访问Android的某些部分(如未与其api完全集成)?

3)最后,使用kivy开发的Android应用程序运行速度与使用java开发的应用程序一样快?

python java android kivy

20
推荐指数
2
解决办法
1万
查看次数

如何在运行时更改Kivy中我的小部件的颜色?

我在Kivy中更改简单小部件的颜色时遇到了麻烦.我可以在创建窗口小部件时设置颜色,但之后我无法更改它.

这是简单的布局定义文件circletest.kv.它定义了一个圆,其中颜色(实际上只是r,来自rgba),位置和大小都链接到widget类中的变量.

#:kivy 1.4.1

<CircleWidget>:
    canvas:
        Color:
            rgba: self.r,1,1,1
        Ellipse:
            pos: self.pos
            size: self.size
Run Code Online (Sandbox Code Playgroud)

这是应用程序circletest.py.它创建并显示简单的小部件.创建对象时成功设置颜色和位置.单击小部件时,小部件可以更改它自己的位置,但是当我尝试更改颜色时,没有任何反应.

import kivy
kivy.require('1.4.1')
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget

Builder.load_file('circletest.kv')

class CircleWidget(Widget):

    def __init__(s, **kwargs):
        s.size= [50,50]
        s.pos = [100,50]
        s.r = 0
        super(CircleWidget, s).__init__(**kwargs)

    def on_touch_down(s, touch):
        if s.collide_point(touch.x,touch.y):    
            s.pos = [s.pos[1],s.pos[0]]           # This works
            s.r = 1.0                       # <---- This does nothing!

class TestApp(App):

    def build(s):
        parent = Widget()
        w = CircleWidget()
        parent.add_widget(w) …
Run Code Online (Sandbox Code Playgroud)

python kivy

18
推荐指数
2
解决办法
1万
查看次数

无法安装Kivy:Cython/GCC错误

所以我尝试按照官方网站的说明安装Kivy:

$ sudo apt-get install python-setuptools python-pygame python-opengl \
  python-gst0.10 python-enchant gstreamer0.10-plugins-good python-dev \
  build-essential libgl1-mesa-dev libgles2-mesa-dev python-pip

$ sudo pip install --upgrade cython

$ sudo easy_install kivy
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

Searching for kivy
Reading http://pypi.python.org/simple/kivy/
Best match: Kivy 1.4.1
Downloading http://pypi.python.org/packages/source/K/Kivy/Kivy-1.4.1.tar.gz#md5=94bba894269e4bdecc7881f256367e01
Processing Kivy-1.4.1.tar.gz
Running Kivy-1.4.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-MMi2Fv/Kivy-1.4.1/egg-dist-tmp-EcKbfC
[INFO   ] Kivy v1.4.1
Found GLES 2.0 headers at /usr/include/GLES2/gl2.h
Build configuration is:
 * use_opengl_es2  =  True
 * use_glew  =  False
 * use_opengl_debug  =  False
 * use_mesagl  =  False
Generate config.h
Generate …
Run Code Online (Sandbox Code Playgroud)

c python gcc cython kivy

18
推荐指数
1
解决办法
8656
查看次数

kivy:将背景颜色更改为白色

我想要一个带有黑色按钮和标签的应用程序,以及带有白色文本的应用程序,因此,希望将这些小部件分隔开来.我想,为了做到这一点,有必要将背景从默认颜色(黑色)转换为白色.实现这一目标的最佳方法是什么?谢谢!

kivy

18
推荐指数
1
解决办法
3万
查看次数

是否有内置方法来获取ToggleButton组的当前选择?

我只是浏览源代码,寻找一种方法来做到这一点,但没有看到任何.我想确定,因为我可能错过了一些东西.是否有内置方式,就像方法一样?当我将一些ToggleButton组合在一起时,我希望能够获得当前所选(state == 'down')按钮的值(我猜的文本值).我知道我可以毫不费力地按照自己的方式来做这件事,但它似乎并不存在,这似乎很奇怪.

在检查了文档和源代码之后,我发现这是迄今为止最简单的方法:

from kivy.uix.togglebutton import ToggleButton as TB

current = [t for t in TB.get_widgets('group') if t.state=='down'][0]
value = current.text
Run Code Online (Sandbox Code Playgroud)

虽然这不是很长或很难做,但能够做到这样的事情会很好:

警告:虚构代码

value = TB.get_widgets('group').selected
Run Code Online (Sandbox Code Playgroud)

python togglebutton kivy

18
推荐指数
1
解决办法
1065
查看次数

如何从3.5降级到Python 3.4

我想安装kivy(链接在这里)用于项目,但是,当尝试使用pip来安装它所依赖的包时,我收到以下错误:

Could not find a version that satisfies the requirement kivy.deps.sdl2 (from versions: )
No matching distribution found for kivy.deps.sdl2
Run Code Online (Sandbox Code Playgroud)

进一步阅读kivy的网站显示,由于某种图形错误,这些库在Windows 10上不支持Python 3.5.该网站说你需要python 3.4才能安装它.

这带来了一个问题:当我已经拥有python 3.5时,如何安装python 3.4?

python downgrade python-3.x kivy

18
推荐指数
2
解决办法
5万
查看次数

在kivy的圆角按钮角落

在kivy中为按钮创建圆角的首选方法是什么?

还有其他同样可行的方法来执行此任务吗?谢谢.

kivy

17
推荐指数
2
解决办法
1万
查看次数

在Kivy中更改Button的背景颜色

我是Kivy的新手,无法指定Button的背景颜色.这是我的简单例子:

# custombutton.py

from kivy.app import App
from kivy.uix.widget import Widget


class MyWidget(Widget):
    pass


class CustomButtonApp(App):
    def build(self):
        return MyWidget()


if __name__ == '__main__':
    CustomButtonApp().run()
Run Code Online (Sandbox Code Playgroud)

以及随附的kv文件custombutton.kv:

#:kivy 1.7.2

<MyWidget>:
    canvas:
        Color:
            rgb: (0.93, 0.93, 0.93)
        Rectangle:
            pos: self.pos
            size: self.size

    Button:
        center: self.parent.center
        font_size: 14
        height: 28
        background_color: (1.0, 0.0, 0.0, 1.0)
        text: "I'm a Button"
Run Code Online (Sandbox Code Playgroud)

我确定我错过了一些明显的东西,但是我现在已经乱了一个多小时而且无处可去.按钮似乎有一丝深红色:

在此输入图像描述

这不是在Kivy中为Button指定背景颜色的方法吗?

谢谢!

python kivy

17
推荐指数
2
解决办法
3万
查看次数

无法获得一个窗口,中止

我正在得到运行Kivy hello world程序的常见错误.我已经尝试了我在这里看到的解决方案:手动安装gstreamer,添加PATH和安装PySDL2.我的操作系统是Windows 7,所有其他版本信息都在错误日志中.

# you need this two lines:
import os
os.environ['KIVY_IMAGE'] = 'pil,sdl2'

#kivy program
from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()
Run Code Online (Sandbox Code Playgroud)

错误日志:

[INFO              ] [Logger      ] Record log in C:\Users\xyz\.kivy\logs\kivy_16-11-19_11.txt
[INFO              ] [Kivy        ] v1.9.1
[INFO              ] [Python      ] v2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)]
[INFO              ] [Factory     ] 179 symbols loaded
[INFO              ] [Image       ] Providers: …
Run Code Online (Sandbox Code Playgroud)

python kivy

17
推荐指数
3
解决办法
3万
查看次数

是否可以在Kivy应用程序中读取多个.kv文件?

我意识到简短的回答可能是"不",但也许这值得再次提出.

如果我正在使用几千行来使用Kivy应用程序 - 那么是否可以在另一个kv文件中编写一些类?

这样可以更容易编辑,纠正错误,进行更改......等等.

只是为了澄清 - .KV文件将是彼此的延续 - 而不是指向并行应用程序.

非常感谢一些专家的见解 - 谢谢.

python kivy

16
推荐指数
2
解决办法
6159
查看次数

标签 统计

kivy ×10

python ×8

android ×1

c ×1

cython ×1

downgrade ×1

gcc ×1

java ×1

python-3.x ×1

togglebutton ×1