mirror of
https://github.com/EDeev/school_table.git
synced 2026-06-15 19:11:13 +03:00
81 lines
No EOL
3.4 KiB
Python
81 lines
No EOL
3.4 KiB
Python
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_()) |