В моей программе Kivy в левом нижнем углу отображается случайный белый квадрат

Error: [$compile:tpload] Failed to load template: xyz.html (HTTP status: 404 Not Found)

может быть вызвано установкой ниже в web.config

 
    
      
      

Это приводит к блокировке любого прямого запроса к файлу в каталоге Views. Угловой запрос xhr к этому файлу блокируется этим.

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

Вы также можете проверить этот url для получения дополнительных ответов: Ошибка: $ compile: tpload не удалось загрузить шаблон Http status: 404

2
задан Plug Fire 16 January 2019 в 02:16
поделиться

1 ответ

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

Другая ошибка заключается в том, что вы создаете контейнер, который вы не используете в .kv.

В случае цикла while это можно упростить с помощью цикла for.

*. Py

import random

import kivy
kivy.require("1.10.1")
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.config import Config

Config.set('graphics', 'width', '400')
Config.set('graphics', 'height', '400')

class Container(FloatLayout):
    pass

class ColorLabel(Label):
    pass

class Main(App):
    def build(self):
        Builder.load_file("EveryImage.kv")
        the_grid = GridLayout(cols=10, spacing=1)
        for _ in range(100):
            newLabel = ColorLabel()
            the_grid.add_widget(newLabel)
            if random.choice([True, False]):
                newLabel.bg_color = [0,0,0,1]
        root = Container()
        root.add_widget(the_grid)           
        return root

# Keep everything below this last!      
if __name__ == '__main__':
    Main().run()

*. Кв

#Container holds all the other layouts
<Container>:
    id: contain
    canvas.before:
        Color:
            rgba: 0,0,0.5,1 #blue, just for the grid
        Rectangle:
            pos: self.pos
            size: self.size

<ColorLabel>:
    bg_color: 1, 1, 1, 1
    canvas.before:
        Color:
            rgba: self.bg_color # white
        Rectangle:
            pos: self.pos
            size: self.size

enter image description here

0
ответ дан eyllanesc 16 January 2019 в 02:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: