объект ‘NoneType’ не имеет атрибута ‘size’ в среде kivy

#python

#python

Вопрос:

[введите описание изображения здесь][1]![ho][2]

я пытаюсь запустить пример коллекции kivymd в своей системе, и в настоящее время я использую Windows для начинающих, поэтому, пожалуйста, помогите мне, если кто-нибудь знает, как решить эту проблему, это было бы очень полезно для меня, заранее благодарю

 class Container(Widget):
    def __init__(self, source, **kwargs):
        super().__init__(**kwargs)
        self.bind(size=self.adjust_size, pos=self.adjust_size)
        self.image = Image(source=source)

    def adjust_size(self, *args):
        (par_x, par_y) = self.parent.size

        if par_x == 0 or par_y == 0:
            with self.canvas:
                self.canvas.clear()
            return

        par_scale = par_x / par_y

       (img_x, img_y) = self.image.texture.size
       img_scale = img_x / img_y

       if par_scale > img_scale:
           (img_x_new, img_y_new) = (img_x, img_x / par_scale)
       else:
           (img_x_new, img_y_new) = (img_y * par_scale, img_y)

       crop_pos_x = (img_x - img_x_new) / 4
       crop_pos_y = (img_y - img_y_new) / 4

       subtexture = self.image.texture.get_region(
           crop_pos_x, crop_pos_y, img_x_new, img_y_new
       )

       with self.canvas:
           self.canvas.clear()
           Color(1, 1, 1)
           Rectangle(texture=subtexture, pos=self.pos, size=(par_x, par_y))
  

Комментарии:

1. Опубликуйте свой код.

2. Используйте отладчик, чтобы выяснить, почему self.image.texture это None

3. ошибка в (img_x, img_y) = self.image.texture.size img_scale = img_x / img_y

Ответ №1:

Спасибо, что ответили мне, проблема решена. я добавил путь kivy в переменную среды и установил kivymd версии 1.104.1

  1. pip install kivymd ==0.104.1
  2. установка pip https://github.com/kivymd/KivyMD/archive/master.zip

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