Как использовать интерпретатор Kivy (1.10.1) в Pycharm (Community Edition 2018.3.5) - PullRequest
0 голосов
/ 29 марта 2019

Я хочу начать изучать Киви.Я использовал Pycharm в качестве своей IDE для программирования на Python.Как я могу изменить интерпретатор Python по умолчанию на интерпретатор kivy, чтобы pycharm мог распознавать коды kivy?

Я установил kivy.app и создал символические ссылки.Я также установил kivy с помощью pip.В моей программе на Python я смог успешно импортировать приложение из kivy.app, и оно работает.Но когда я пишу код для разработки виджета (в данном случае Box Layout), Pycharm подчеркивает красным и не выполняет код.

Следующий код работает нормально:

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

class Widget1(BoxLayout):
    pass

class MyApp(App):
    def build(self):
        return Widget1()

if __name__ == "__main__":
    MyApp().run()

Но когда я пишу следующий код для разработки Box Layout, он не работает.Pycharm подчеркивает: Widget1, Button, text и Label (написана ошибка: Unresolved Reference)

<Widget1>
    Button:
        text: "Please click here"
    Label:
        text: "Button has not been clicked yet"

Если все коды работают, после запуска предполагается вернуть раскладку коробки, разделенную на две части.Одна часть - это нажимаемая кнопка с надписью «Пожалуйста, нажмите здесь», а другая часть - просто ярлык с надписью «Кнопка еще не нажата».Но теперь, когда я запускаюсь, он просто возвращает пустой макет коробки (без метки, без кнопки, без текста).

1 Ответ

0 голосов
/ 29 марта 2019

Вопрос 2

Код Box Layout (<Widget1>) по-прежнему не работает.

Решение

1) kv Имя файла

Поскольку вы не используете Kivy Builder для загрузки ваших kv-кодов / файлов, следовательно, вы загружаете kv-коды / файл в соответствии с соглашением имен. Убедитесь, что ваше kv имя файла my.kv

Kv language »Как загрузить KV

Существует два способа загрузки кода Kv в ваше приложение:

По условному названию:

Kivy ищет файл Kv с тем же именем, что и ваш класс приложения в строчные, минус «приложение», если оно оканчивается на «приложение», например:

MyApp -> my.kv

Если этот файл определяет Root Widget, он будет прикреплен к приложению. корневой атрибут и используется в качестве основы дерева виджетов приложения.

По соглашению Builder: Вы можете указать Kivy напрямую загружать строку или файл. Если эта строка или файл определяет корневой виджет, он будет возвращен методом:

Builder.load_file('path/to/file.kv')

или

Builder.load_string(kv_string)

2) Контекст правила kv

В вашем файле kv добавьте : (полное двоеточие) после правила класса <Widget1>

* * Тысяча сорок-девять 1050 * Отрывки *
<Widget1>:

Kv language »Контекст правила

Источник Kv состоит из правил , которые используются для описания содержание виджета, вы можете иметь одно корневое правило и любое количество правила класса или шаблона .

Правило root объявляется путем объявления класса вашего корня виджет, без отступа, после которого: и будет установлен как корневой атрибут экземпляра приложения:

Widget:

A правило класса , объявленное именем класса виджета между <> и сопровождается:, определяет, каким будет любой экземпляр этого класса графически представлено:

<MyWidget>:

Правила используют отступ для разграничения, как и Python, отступ должен иметь четыре пробела на уровень, как хорошая практика Python рекомендации.

Вопрос 1

Но когда я пишу код для разработки виджета (в данном случае Box Layout), Pycharm подчеркивается красным и не выполняет код.

Решение

Вам необходимо установить файл автозаполнения KV Language.

  1. Загрузить этот файл, PyCharm_kv_completion.jar .
  2. В правом нижнем углу окна приветствия PyCharm нажмите Настройка -> Параметры импорта .
  3. Выберите файл JAR, который вы только что загрузили, и PyCharm представит диалог с отмеченными типами файлов. Нажмите ОК.
  4. Перезапустите PyCharm, чтобы изменения вступили в силу.
...