Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from services.database import DatabaseEngine
- from PySide6.QtCore import Qt
- from PySide6.QtWidgets import (
- QMainWindow,
- QTableView,
- QPushButton,
- QVBoxLayout
- )
- from PySide6.QtGui import (
- QStandardItem,
- QStandardItemModel,
- QBrush
- )
- from styles.styles import (
- get_font,
- get_font_two,
- label_style_two,
- button_style
- )
- class PreviousGames(QMainWindow):
- def __init__(self, window_manager, logged_in_user):
- super(PreviousGames, self).__init__()
- self.window_manager = window_manager
- self.logged_in_user = logged_in_user
- self.db_engine = DatabaseEngine()
- self.font = get_font()
- self.font_two = get_font_two()
- self.label_style = label_style_two()
- self.button_style = button_style()
- self.setStyleSheet(
- """
- QWidget {
- background-color: #D1258A;
- }
- QTableView {
- border: 2px solid #440028;
- border-radius: 10px;
- color: #651142;
- background-color: #D1258A;
- }
- QHeaderView::section {
- background-color: #D1258A;
- border: 1px solid #440028;
- }
- """
- )
- self.layout = QVBoxLayout()
- self.setLayout(self.layout)
- self.UiComponents()
- self.showMaximized()
- def UiComponents(self):
- user_games = self.db_engine.get_user_games(self.logged_in_user)
- self.table = QTableView(self)
- self.model = QStandardItemModel()
- self.table.setModel(self.model)
- column_names = ["Game ID", "Username", "Stars", "Game Played", "Correct", "Wrong", "Total"]
- self.model.setHorizontalHeaderLabels(column_names)
- for row in range(len(user_games)):
- for column in range(len(column_names)):
- item = QStandardItem(str(user_games[row][column]))
- item.setBackground(QBrush("#D1258A"))
- item.setForeground(QBrush("#651142"))
- item.setFont(self.font_two)
- item.setCheckable(False)
- item.setEditable(False)
- item.setSelectable(False)
- item.setTextAlignment(Qt.AlignCenter)
- self.model.setItem(row, column, item)
- self.button = QPushButton("Back", self)
- self.button.setStyleSheet(self.button_style)
- self.button.setFont(self.font)
- self.button.clicked.connect(self.back_button)
- self.layout.addWidget(self.table, 1)
- self.layout.addWidget(self.button, 0)
- def back_button(self):
- self.window_manager.close_window()
Advertisement
Add Comment
Please, Sign In to add comment