标签: kivy-language

如何在OSX上的Pycharm中的Kivy,.kv文件中获得语法高亮?

.kv在OSX 上的PyCharm中对文件进行语法高亮显示需要哪些步骤?

python macos pycharm kivy-language

14
推荐指数
1
解决办法
7612
查看次数

Kivy语言可以访问继承的布局和小部件吗?

kivy语言可以访问继承的布局和小部件吗?我想创建一个基本的BoxLayout,其中包含我的小部件的样式和标题标签.我希望能够从这个小部件继承并在不同的位置添加其他小部件.

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

Builder.load_string('''
<SimpleBar>:
    canvas.before:
        Color:
            rgba: 0, 0.5, 0.5, 1
        Rectangle:
            pos: self.pos
            size: self.size
    BoxLayout:
        id: my_layout
        Label:
            text: "hi"

<NewBar>:
    Label:
        text: "2"
''')

class SimpleBar(BoxLayout):
    def log(self, value):
        print(value)

class NewBar(SimpleBar):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        print(dir(self))

class GeneralApp(App):
    def build(self):
        return NewBar()

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

以上是我的基本运行小部件.

我希望NewBar的"2"标签位于SimpleBar的'hi'标签之前,如下所示.

<NewBar>:
     BoxLayout:
         id: my_layout
         Label:
             text: "2"
         Label:
             text: "hi"
Run Code Online (Sandbox Code Playgroud)

我知道 - 可以否定物品.但是,<-NewBar> …

python kivy kivy-language

9
推荐指数
2
解决办法
1122
查看次数

在Kivy中隐藏和显示一个小部件

我正在开发一个Kivy项目,当列表中没有元素时,我需要显示一个标签.否则,我需要显示一个列表视图.

这些是我描述的两个场景:

什么时候没有朋友表示: 没朋友

当列表包含朋友时: 与朋友列出

这是我的Kivy文件:

#: kivy 1.9.1
#: import ListAdapter kivy.adapters.listadapter.ListAdapter
#: import FriendItemButton gui.FriendItemButton

ChumMeRoot:

<ChumMeRoot>:
    friend_list_view: friend_list_view
    FriendList:
        id: friend_list_view


<FriendItemButton>:
    text: self.full_name
    height: "40dp"
    size_hint_y: None


<FriendList>:
    orientation: 'vertical'
    friend_list: friend_list_view
    Button:
        height: '45dp'
        size_hint_y: None
        text: 'Add Friend'
        on_press: app.root.show_add_friend_form()
    ListView:
        id: friend_list_view
        adapter:
            ListAdapter(
            data=[],
            cls=FriendItemButton,
            args_converter=root.args_converter)


<AddFriendFormInput@BoxLayout>
    height: '30dp'
    size_hint_y: None


<AddFriendForm>:
    orientation: 'vertical'
    first_name_input: first_name
    last_name_input: last_name
    AddFriendFormInput:
        Label:
            text: 'First Name'
        TextInput:
            id: first_name
    AddFriendFormInput:
        Label:
            text: 'Middle Name'
        TextInput:
    AddFriendFormInput: …
Run Code Online (Sandbox Code Playgroud)

python kivy kivy-language

8
推荐指数
2
解决办法
8119
查看次数

Python/Kivy:如何在循环中加上整数值

我有两个文件demo.pydemo.kv.can有人帮助我吗?

1.+Add More添加行动态.当我点击时填充值Total Value后,它显示字符串,如.151012不显示12+10+15=37.我正在使用代码

        test = ''
        for val in values:
            test = val[2]+test

        self.total_value.text = test
Run Code Online (Sandbox Code Playgroud)

2.任何人都可以告诉我如何Total value在填充valueTextBox 之后在TextBox中放置值的总和而不是单击Total ValueBox.Means如何def test(self)value TextBox 调用函数?


demo.py

from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import BooleanProperty, ListProperty, StringProperty, ObjectProperty, NumericProperty
from kivy.uix.textinput import TextInput …
Run Code Online (Sandbox Code Playgroud)

python kivy kivy-language

8
推荐指数
1
解决办法
392
查看次数

Kivy 的完整代码示例 用 KV 语言编写的工作屏幕管理器参考

我一直在尝试通过使用 Kivy 时钟从 kivy 文件 (.kv) 访问不同类的 id/widget来建立我的 kv 语言技能通过使用kv 语言Kivy 屏幕管理器参考中的信息。不幸的是,后一篇文章没有包含完整的工作代码示例,所以我无法理解如何在多屏幕 Kivy 应用程序的特定屏幕上更改文本元素。

在搜索了一天的大部分时间后,我找不到任何关于如何用 kv 语言构建多屏应用程序的简单具体的工作示例,所以我在这里。我似乎无法设置对各个屏幕的正确引用,因此我可以更改它们。

在下面的简单示例代码中,我构建了一个四屏应用程序,可以在四个屏幕之间自动切换。我想从这个问题中学到两件事;

  1. 将设置尽可能多的屏幕管理器的 kv 语言代码。IE。kv 语言可以减少或消除第 43 到 47 行吗?

  2. 实际的 python 代码(我相信它会出现在应用程序的第 56 行)在第二次显示之前将第一个屏幕上的文本更改为“嗨,我是第五个屏幕”。

代码如下。提前致谢。……布拉德……

import kivy
kivy.require('1.10.0')
from kivy.app import App
from kivy.lang import Builder
from kivy.clock import Clock
from kivy.uix.screenmanager import ScreenManager, Screen

Builder.load_string("""
<FirstScreen>:
    name: '_first_screen_'
    Label:
        id: first_screen
        text: "Hi I'm The First Screen"
<SecondScreen>:
    name: '_second_screen_'
    Label:
        id: second_screen
        text: …
Run Code Online (Sandbox Code Playgroud)

user-interface kivy kivy-language

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

在不同像素密度的两个屏幕之间拖动时,如何使 Kivy 应用程序保持一致的大小?

我正在尝试包中的示例代码kivy_examples。在配备 Retina 显示屏的 Macbook Pro 上,它还连接到具有标准像素密度的外部显示器。

当我启动任何示例应用程序时,窗口首先出现在内置 Retina 显示屏上,并且看起来不错。然后,当我将该窗口拖动到外部显示器时,突然所有小部件的大小都放大了。

StackOverflow 上存在许多涉及 Kivy 和像素密度的问题。但问题和答案似乎都涉及单屏用例。您不知道目标屏幕的密度可能是多少,因此以下是如何使用该dp(...)功能在应用程序启动时配置该屏幕等。

但是,我找不到任何涉及多显示器用例的讨论。当应用程序在多个显示器之间移动时,有什么方法可以让 Kivy 应用程序动态响应像素密度变化?与在启动时配置固定密度级别相反?

python kivy kivy-language

7
推荐指数
1
解决办法
217
查看次数

Python/Kivy:.kv文件中的条件设计

在Kivy,是否可以采用类似于以下示例的方法?
发布的代码显然不起作用,而且它只是一个例子:我需要根据某个属性绘制不同的布局.

你会怎么建议这样做?

BoxLayout:
    number: 0
    if self.number > 3:
        Label:
            text: 'number is bigger than 3'
        Button:
            text: 'click here to decrease'
            on_press: root.number -= 1
    else:
        Label:
            text: 'number is smaller than 3'
        Button:
            text: 'click here to increase'
            on_press: root.number += 1
Run Code Online (Sandbox Code Playgroud)

python kivy kivy-language

6
推荐指数
1
解决办法
1559
查看次数

x11 - ImportError:没有名为'kivy.core.window.window_x11'的模块

当我尝试在我的kali linux操作系统中使用python 3.5运行任何kivy程序时.然后我得到以下错误.

程序:-

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.relativelayout import RelativeLayout

Builder.load_string('''
<hey>:
    RelativeLayout:
        Button:
            text:"Hey"
''')

class hey(RelativeLayout):
    pass

class helloApp(App):
    def build(self):
        return hey()

if __name__=="__main__":
    helloApp().run()
Run Code Online (Sandbox Code Playgroud)

错误:-

[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name 'bcm'
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", line …
Run Code Online (Sandbox Code Playgroud)

python python-3.x kivy kivy-language

6
推荐指数
1
解决办法
5764
查看次数

Kivy RecycleView可以替代ListView吗?它是如何工作的?

我应该以我仍然是Kivy的新手开头。我试图寻找类似的问题,但它们要么过时,要么不清楚。

我一直在寻找一种显示元素列表的方法,在这些元素中,一个使用过的元素可以选择一个元素以与其他小部件(按钮等)进行交互。我偶然发现了ListView文档页面,但明确指出不赞成使用ListView,而必须使用RecycleView

现在的问题是(至少对我来说)文档关于如何使用RecycleView不太清楚。它肯定比其他小部件复杂,我似乎无法弄清楚。

要将其分解为更易消化的问题:1.如何定义充当项目列表的RecycleView?2.我该如何提供物品?3.我如何与之交互,特别是一次只能选择一项,检测何时选择了某项,并在事件发生时自动进行了某项选择?

哦,对了,我更喜欢尽可能使用kv语言。

在查找或理解文档资源方面,我将不胜感激,这些资源将使我能够更广泛地理解此信息,以备将来使用。我真的希望有一个针对这些复杂功能的教程,但是如果它存在的话,那真是很难找到它。

python-3.x kivy kivy-language

6
推荐指数
1
解决办法
5287
查看次数

如何从数据库中获取数据并在kivy + python中的表中显示

list.py

import kivy

kivy.require('1.9.0')  # replace with your current kivy version !
import sqlite3 as lite
from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window

Window.clearcolor = (0, 0.517, 0.705, 1)

Window.size = (500, 330)
from easygui import msgbox


con = lite.connect('demo.db')
con.text_factory = str
cur = con.cursor()

class TestScreen(Screen):
    pass

    def get_user(self):

        cur.execute("SELECT * FROM `user` order by id asc")
        self.rows = cur.fetchall()

        print(self.rows)

class List(App):
    def build(self): …
Run Code Online (Sandbox Code Playgroud)

python-2.7 kivy kivy-language

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