• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Пожалуйста, помогите с PyQt5!

VitoScaletta

Active member
13.05.2019
28
0
BIT
6
В общем, я хочу сделать так, чтобы при получении от сервера список имеющихся объектов в базе данных, программа сама динамически добавляла объекты, поменяв значения на местах "Категория", "Количество" и т.д. по шаблону (подобно ленте в инстаграме. Возможно ли такое вообще? Подскажите пожалуйста (Да, понимаю, для таких вопросов есть stackoverflow, но там вообще никто не отвечает)
1.jpg
 

misterX

Grey Team
01.06.2022
274
11
BIT
193
В принципе динамическое добавление объектов на основе полученного списка из базы данных возможно. Для этого вам понадобится использовать программирование и соответствующие инструменты.

Вот примерный алгоритм действий:

  1. Получение списка объектов из базы данных: можно написать код, который будет запрашивать список объектов из базы данных на сервере. Это может быть выполнено с использованием языка программирования и соответствующих библиотек или фреймворков для работы с базами данных.
  2. Обработка списка объектов: после получения списка объектов, можно использовать цикл или итератор, чтобы пройтись по каждому объекту в списке.
  3. Создание новых объектов: внутри цикла или итератора, можно создавать новые объекты на основе шаблона. Нужно лишь будет заменить значения в шаблоне, такие как "Категория" и "Количество", на соответствующие значения из каждого объекта в списке.
  4. Добавление объектов: после создания нового объекта с измененными значениями, уже можно будет добавить его в программу или отобразить его на экране, в зависимости от того, что нужно сделать с этими объектами.
 

VitoScaletta

Active member
13.05.2019
28
0
BIT
6
В принципе динамическое добавление объектов на основе полученного списка из базы данных возможно. Для этого вам понадобится использовать программирование и соответствующие инструменты.

Вот примерный алгоритм действий:

  1. Получение списка объектов из базы данных: можно написать код, который будет запрашивать список объектов из базы данных на сервере. Это может быть выполнено с использованием языка программирования и соответствующих библиотек или фреймворков для работы с базами данных.
  2. Обработка списка объектов: после получения списка объектов, можно использовать цикл или итератор, чтобы пройтись по каждому объекту в списке.
  3. Создание новых объектов: внутри цикла или итератора, можно создавать новые объекты на основе шаблона. Нужно лишь будет заменить значения в шаблоне, такие как "Категория" и "Количество", на соответствующие значения из каждого объекта в списке.
  4. Добавление объектов: после создания нового объекта с измененными значениями, уже можно будет добавить его в программу или отобразить его на экране, в зависимости от того, что нужно сделать с этими объектами.
Вам конечно спасибо за подробное описание действий, но единственное, что я не могу осуществить, так это то, что не получается создать шаблон, так как там внутри QWidget несколько объектов и у меня голова просто тут тормозит. Не знаю как так можно сделать внутри цикла(
 

misterX

Grey Team
01.06.2022
274
11
BIT
193
Вам конечно спасибо за подробное описание действий, но единственное, что я не могу осуществить, так это то, что не получается создать шаблон, так как там внутри QWidget несколько объектов и у меня голова просто тут тормозит. Не знаю как так можно сделать внутри цикла(
Один из вариантов - использовать виджеты списка (например, QListWidget или QTableWidget) для отображения объектов. Вместо создания шаблона с несколькими объектами, вы можете создать отдельный виджет, который будет представлять один объект из базы данных. Затем, в цикле, вы можете создавать экземпляры этого виджета для каждого объекта и добавлять их в список виджетов.

Если вам нужно более сложное представление объектов, вы можете использовать модель-представление (например, QListView или QTableView) в сочетании с соответствующей моделью данных. Вы можете создать свою собственную модель данных, которая будет получать список объектов из базы данных и предоставлять их для отображения в представлении. В этом случае, вам придется настроить соответствующие делегаты для отображения объектов в нужном формате.
 

VitoScaletta

Active member
13.05.2019
28
0
BIT
6
Один из вариантов - использовать виджеты списка (например, QListWidget или QTableWidget) для отображения объектов. Вместо создания шаблона с несколькими объектами, вы можете создать отдельный виджет, который будет представлять один объект из базы данных. Затем, в цикле, вы можете создавать экземпляры этого виджета для каждого объекта и добавлять их в список виджетов.

Если вам нужно более сложное представление объектов, вы можете использовать модель-представление (например, QListView или QTableView) в сочетании с соответствующей моделью данных. Вы можете создать свою собственную модель данных, которая будет получать список объектов из базы данных и предоставлять их для отображения в представлении. В этом случае, вам придется настроить соответствующие делегаты для отображения объектов в нужном формате.
Я пытался внутри цикла добавлять экземпляры, но я не знаю как это сделать.
Например:
self.menuzkz = QtWidgets.QWidget(self.mainBodyContent)
self.menuzkz.setMinimumSize(QtCore.QSize(0, 300))
self.menuzkz.setObjectName("menuzkz")

Объекты ведь добавляются подобным образом, заранее указывая конкретное наименование, в нашем случае menuzkz. Внутри цикла возможно ли каким-либо образом автоматизированное наименование объектов?
 

misterX

Grey Team
01.06.2022
274
11
BIT
193
Я пытался внутри цикла добавлять экземпляры, но я не знаю как это сделать.
Например:
self.menuzkz = QtWidgets.QWidget(self.mainBodyContent)
self.menuzkz.setMinimumSize(QtCore.QSize(0, 300))
self.menuzkz.setObjectName("menuzkz")

Объекты ведь добавляются подобным образом, заранее указывая конкретное наименование, в нашем случае menuzkz. Внутри цикла возможно ли каким-либо образом автоматизированное наименование объектов?
Должно помочь - внутри цикла можно автоматизировать наименование объектов, чтобы каждый объект имел уникальное имя. Вместо того, чтобы явно указывать наименование объекта, можно использовать переменную для хранения ссылки на созданный объект. Вот пример, как это можно сделать:
Python:
objects = []  # Создаем пустой список для хранения объектов

for i in range(10):  # Пример цикла, который создает 10 объектов
    obj = QtWidgets.QWidget(self.mainBodyContent)  # Создаем экземпляр объекта
    obj.setMinimumSize(QtCore.QSize(0, 300))
    obj.setObjectName(f"menuzkz_{i}")  # Задаем уникальное имя объекта
    objects.append(obj)  # Добавляем объект в список

# Теперь есть список объектов, каждый из которых имеет уникальное имя
# Можно обращаться к объектам по индексу в списке или использовать цикл для их обработки
В этом примере будет создан пустой список objects, в котором можно хранить созданные объекты. Затем в цикле можно создать экземпляр объекта и задать ему уникальное имя, используя форматированную строку f"menuzkz_{i}", где i - это текущая итерация цикла. После этого добавить объект в список objects. Теперь есть список объектов, каждый из которых имеет уникальное имя, и можно обращаться к ним по индексу в списке или использовать цикл для их обработки.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!