Изменение поведения всплывающего окна с изображениемPython

Программы на Python
Anonymous
Изменение поведения всплывающего окна с изображением

Сообщение Anonymous »

Мое приложение KivyMD из базы данных SQLite отображает двоичное изображение большого двоичного объекта, для которого я создал класс содержимого диалога с MDBoxLayout в качестве родительского. В базе данных есть два изображения для определенного индекса: файл output.jpg размером 300x310 пикселей, а другой — файл image.jpg размером 320x400 пикселей.
Когда я изменил изображение на image.jpg, изображение всплывает. но когда я закрываю его, прокручиваю до другого индекса и открываю всплывающее окно, изображение не меняется и показывает последнее, которое открывалось. Если я закрою его, подожду минуту и ​​открою снова, появится правильное изображение.

Код: Выделить всё

orientation: "vertical"
spacting: "2sp"

Image:
id: image
source: root.photo_name

Код: Выделить всё

class Content(MDBoxLayout):
photo_name = StringProperty()

def __init__(self, **kwargs):
super().__init__(**kwargs)
self.photo_name = "picture.jpg"

Код: Выделить всё

class MainApp(MDApp, RecycleView):
def __init__(self, **kwargs):
super().__init__(**kwargs)

##### OTHER CODE ########

### Popup function ###
@staticmethod
def view_popup():
popup = Popup(title="FULL PHOTOGRAPH", title_align="center", content=Content(),
size_hint=(.85, .8))

popup.open()
Как изменение файла изображения с помощью одного и того же кода может привести к разным результатам? Может ли размер пикселя вызвать задержку смены экземпляра класса? Я попробовал MDDialog вместо всплывающего окна, используя type="custom" и content_cls=Content(). Все тот же результат. Я изменил источник в классе Content с root.photo_name на app.photo_name, определенный в классе MainApp как photo_name = StringProperty("picture.jpg"). Тот же результат.

Подробнее здесь: https://stackoverflow.com/questions/789 ... -behaviour

Вернуться в «Python»