mekasu0124

Untitled

Jan 27th, 2024
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.63 KB | None | 0 0
  1. from services.database import DatabaseEngine
  2.  
  3. from PySide6.QtCore import Qt
  4. from PySide6.QtWidgets import (
  5.     QMainWindow,
  6.     QTableView,
  7.     QPushButton
  8. )
  9. from PySide6.QtGui import (
  10.     QStandardItem,
  11.     QStandardItemModel,
  12.     QBrush
  13. )
  14.  
  15. from styles.styles import (
  16.     get_font,
  17.     get_font_two,
  18.     label_style_two,
  19.     button_style
  20. )
  21.  
  22. class PreviousGames(QMainWindow):
  23.     def __init__(self, window_manager, logged_in_user):
  24.         super(PreviousGames, self).__init__()
  25.  
  26.         self.window_manager = window_manager
  27.         self.logged_in_user = logged_in_user
  28.  
  29.         self.db_engine = DatabaseEngine()
  30.  
  31.         self.font = get_font()
  32.         self.font_two = get_font_two()
  33.         self.label_style = label_style_two()
  34.         self.button_style = button_style()
  35.  
  36.         self.setStyleSheet(
  37.             """
  38.            QWidget {
  39.                background-color: #D1258A;
  40.            }
  41.  
  42.            QTableView {
  43.                border: 2px solid #440028;
  44.                border-radius: 10px;
  45.                color: #651142;
  46.                background-color: #D1258A;
  47.            }
  48.  
  49.            QHeaderView::section {
  50.                background-color: #D1258A;
  51.                border: 1px solid #440028;
  52.            }
  53.            """
  54.         )
  55.         self.UiComponents()
  56.         self.showMaximized()
  57.  
  58.     def UiComponents(self):
  59.         user_games = self.db_engine.get_user_games(self.logged_in_user)
  60.  
  61.         self.table = QTableView(self)
  62.         self.table.setGeometry(620,20,780,880)
  63.  
  64.         self.model = QStandardItemModel()
  65.         self.table.setModel(self.model)
  66.  
  67.         column_names = ["Game ID", "Username", "Stars", "Game Played", "Correct", "Wrong", "Total"]
  68.  
  69.         self.model.setHorizontalHeaderLabels(column_names)
  70.  
  71.         for row in range(len(user_games)):
  72.             for column in range(len(column_names)):
  73.                 item = QStandardItem(str(user_games[row][column]))
  74.                 item.setBackground(QBrush("#D1258A"))
  75.                 item.setForeground(QBrush("#651142"))
  76.                 item.setFont(self.font_two)
  77.                 item.setCheckable(False)
  78.                 item.setEditable(False)
  79.                 item.setSelectable(False)
  80.                 item.setTextAlignment(Qt.AlignCenter)
  81.  
  82.                 self.model.setItem(row, column, item)
  83.  
  84.         self.button = QPushButton("Back", self)
  85.         self.button.setGeometry(820,920,300,70)
  86.         self.button.setStyleSheet(self.button_style)
  87.         self.button.setFont(self.font)
  88.         self.button.clicked.connect(self.back_button)
  89.  
  90.     def back_button(self):
  91.         self.window_manager.close_window()
Advertisement
Add Comment
Please, Sign In to add comment