school_table/main.py
Egor Deev 179f28b6e8
v. 1
2021-11-27 06:34:09 +07:00

81 lines
No EOL
3.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import sqlite3
import sys
from PyQt5.QtWidgets import QApplication, QMessageBox, QWidget
from PyQt5.QtWidgets import QMainWindow, QTableWidgetItem, QTableWidget
from PyQt5 import QtCore, QtWidgets, QtGui, uic
if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'):
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True)
if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'):
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True)
class MyWidget(QMainWindow): # Ui_MainWindow
def __init__(self):
super().__init__()
uic.loadUi('rasp.ui', self) # self.setupUi(self)
self.connection = sqlite3.connect("table.db")
self.cursor = self.connection.cursor()
# По умолчанию будем выводить все данные из таблицы
self.table()
def table(self):
try:
# РАСПИСАНИЕ
print(1)
with self.connection:
all_day = self.cursor.execute("SELECT * FROM timetable").fetchall()
# Заполним размеры таблицы
tables = [self.Mon_school, self.Tue_school, self.Wed_school,
self.Thu_school, self.Fri_school, self.Sat_school]
print(2)
for day in tables:
day = day.QTableWidget.QTableView
day.setSpan(8, 1)
print(3)
# Заполняем таблицу элементами
i, row = enumerate(all_day[tables.index(day)])
print(i, row)
for j, elem in enumerate(row):
self.tableWidget_2.setItem(
i, j, QTableWidgetItem(str(elem)))
"""
# ВСЕ ФИЛЬМЫ
with self.connection:
res = self.cursor.execute("SELECT * FROM films").fetchall()
# Заполним размеры таблицы
self.tableWidget.setColumnCount(5)
self.tableWidget.setRowCount(0)
# Заполняем таблицу элементами
self.tableWidget.setHorizontalHeaderLabels(["ИД", "Название фильм", "Год выпуска",
"Жанр", "Продолжительность"])
for i, row in enumerate(res):
self.tableWidget.setRowCount(
self.tableWidget.rowCount() + 1)
for j, elem in enumerate(row):
if j == 3:
for n, name in gnr:
if n == elem:
self.tableWidget.setItem(
i, j, QTableWidgetItem(str(name)))
break
else:
self.tableWidget.setItem(
i, j, QTableWidgetItem(str(elem)))
"""
except Exception:
QMessageBox.about(self, 'Ошибка!', "Таблица данных не найдена!")
def closeEvent(self, event):
# При закрытии формы закроем и наше соединение с базой данных
self.connection.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec_())