Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
29 / 29 / 0
Регистрация: 31.01.2020
Сообщений: 181

Фильтрация по жанрам

23.10.2020, 17:20. Показов 8795. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу с графическим пользовательским интерфейсом на PyQT, которая позволяет просматривать информацию о названиях фильмов из базы данных films_db.sqlite с возможностью фильтрации по жанрам.

Выбор жанров для фильтра должен отображаться в виде выпадающего списка, данные в который загружаются из базы данных из таблицы genres. В зависимости от выбранного пользователем названия жанра должны соответствующим образом фильтроваться названия отображаемых фильмов.
Миниатюры
Фильтрация по жанрам  
3
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.10.2020, 17:20
Ответы с готовыми решениями:

Фильтрация по жанрам
Здравствуйте, первый раз на пишу на форуме, поэтому могу налажать с оформлением. Вопрос такой: делал задачку с PyQt5 и QT SQL, в которой...

Поиск по жанрам
Есть поле жанры в таблице произведения и в подстановке тип управления - список и разрешено выбирать несколько значений Нужно сделать...

Фильтр книг по жанрам
Есть 2 таблицы 1 с книгами 2 с жанрами к этим книгам. Нужен запрос для вывода книги, которая включает в себя несколько жанров. book ...

6
0 / 0 / 0
Регистрация: 11.12.2020
Сообщений: 5
24.05.2021, 23:35
дарова чувак если у тебя еще есть эти программы связанные с фильтрацией фильмов не мог бы ты скинуть или сказать где можно взять , очень выручил бы
0
25.05.2021, 07:46

Не по теме:

champas, скорее всего его отчислили, т.к. универ не Хатико, он не ждет. :(

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
25.05.2021, 18:32

Не по теме:

Цитата Сообщение от Fudthhh Посмотреть сообщение
универ
Это я.лицей

0
0 / 0 / 0
Регистрация: 11.12.2020
Сообщений: 5
25.05.2021, 22:09
но портфолио может есть где-то на гитхабе
0
15 / 14 / 1
Регистрация: 16.11.2019
Сообщений: 33
30.10.2022, 07:40
Логика:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import sqlite3
import sys
 
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow, QTableWidgetItem
 
 
class DBSample(QMainWindow):
    def __init__(self):
        super().__init__()
        uic.loadUi('untitled.ui', self)
        self.con = sqlite3.connect("films_db.sqlite")
        self.cur = self.con.cursor()
        res = self.cur.execute('''SELECT title FROM Genres''').fetchall()
        items = [x[0] for x in res]
        self.comboBox.addItems(items)
        self.comboBox.activated[str].connect(self.onActivated)
        self.genre = 'комедия'
        self.pushButton.clicked.connect(self.search)
 
 
    def search(self):
        queue = 'SELECT title, genre, year FROM Films WHERE genre=(SELECT id FROM Genres WHERE title=?)'
        res = self.cur.execute(queue, (self.genre,)).fetchall()
        self.tableWidget.setRowCount(len(res))
        self.tableWidget.setColumnCount(len(res[0]))
        for i, elem in enumerate(res):
            for j, val in enumerate(elem):
                self.tableWidget.setItem(i, j, QTableWidgetItem(str(val)))
 
    def onActivated(self, text):
        self.genre = text
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = DBSample()
    ex.show()
    sys.exit(app.exec())
Дизайн делайте сами
1
4 / 4 / 1
Регистрация: 18.11.2023
Сообщений: 5
03.12.2023, 19:58
Решение 2023 года на базе кода Tamirlan2006 c интерфейсом


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import io
import sqlite3
import sys
 
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow, QTableWidgetItem
 
template = """<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>802</width>
    <height>478</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Фильтрация по жанрам</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <widget class="QComboBox" name="parameterSelection">
    <property name="geometry">
     <rect>
      <x>10</x>
      <y>10</y>
      <width>201</width>
      <height>21</height>
     </rect>
    </property>
   </widget>
   <widget class="QPushButton" name="queryButton">
    <property name="geometry">
     <rect>
      <x>20</x>
      <y>60</y>
      <width>91</width>
      <height>31</height>
     </rect>
    </property>
    <property name="text">
     <string>ПУСК</string>
    </property>
   </widget>
   <widget class="QTableWidget" name="tableWidget">
    <property name="geometry">
     <rect>
      <x>220</x>
      <y>10</y>
      <width>561</width>
      <height>411</height>
     </rect>
    </property>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>802</width>
     <height>21</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>
"""
 
 
class MyWidget(QMainWindow):
    def __init__(self):
        super().__init__()
        f = io.StringIO(template)
        uic.loadUi(f, self)
        self.con = sqlite3.connect("films_db.sqlite")
        self.cur = self.con.cursor()
        res = self.cur.execute('''SELECT title  FROM genres''').fetchall()
        items = [x[0] for x in res]
        self.parameterSelection.addItems(items)
        self.genre = 'комедия'
        self.queryButton.clicked.connect(self.search)
        self.search()
 
    def search(self):
        query = 'SELECT title, genre, year FROM Films WHERE genre=(SELECT id FROM Genres WHERE title=?)'
        res = self.cur.execute(query, (self.parameterSelection.currentText(),)).fetchall()
        self.tableWidget.setRowCount(len(res))
        self.tableWidget.setColumnCount(len(res[0]))
        self.tableWidget.setHorizontalHeaderLabels(['Название', 'Жанр', 'Год'])
        for i, elem in enumerate(res):
            for j, val in enumerate(elem):
                self.tableWidget.setItem(i, j, QTableWidgetItem(str(val)))
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyWidget()
    ex.show()
    sys.exit(app.exec())
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2023, 19:58
Помогаю со студенческими работами здесь

Две выборки по жанрам и годам
Здравствуйте столкнулся с проблемой, Не могу сделать две сортировки, одновременно по жанрам и по годам. Если в коде изменить вместо...

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

Количество изданий по всем жанрам для издателя
Доброго времени суток. Есть некий запрос, который гласит: &quot;Получить количество изданий по всем жанрам для издателя&quot;. Я так понимаю,...

создать массив, содержащий названия фильмов, организованных по жанрам
Создать php-скрипт, в котором создать массив, содержащий названия фильмов, организованных по жанрам. пусть это будет массив, в котором...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru