mekasu0124

Untitled

Jan 27th, 2024
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.67 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.     QTableWidget,
  7.     QTableWidgetItem,
  8.     QLabel,
  9.     QScrollArea,
  10.     QPushButton
  11. )
  12.  
  13. from styles.styles import (
  14.     get_font,
  15.     table_style,
  16.     scroll_area_style,
  17.     label_style_two,
  18.     button_style
  19. )
  20.  
  21. class PreviousGames(QMainWindow):
  22.     def __init__(self, window_manager, logged_in_user):
  23.         super(PreviousGames, self).__init__()
  24.  
  25.         self.window_manager = window_manager
  26.         self.logged_in_user = logged_in_user
  27.  
  28.         self.db_engine = DatabaseEngine()
  29.  
  30.         self.font = get_font()
  31.         self.table_style = table_style()
  32.         self.scroll_area_style = scroll_area_style()
  33.         self.label_style = label_style_two()
  34.         self.button_style = button_style()
  35.  
  36.         self.setStyleSheet("background-color: #D1258A;")
  37.         self.UiComponents()
  38.         self.showMaximized()
  39.  
  40.     def UiComponents(self):
  41.         # self.table = QTableWidget(self)
  42.         # self.table.setGeometry(20,20,1880,970)
  43.         # self.table.setStyleSheet(self.table_style)
  44.         # self.table.setColumnCount(7)
  45.  
  46.         # self.table.setItem(0,0, QTableWidgetItem("Id"))
  47.         # self.table.setItem(0,1, QTableWidgetItem("Username"))
  48.         # self.table.setItem(0,2, QTableWidgetItem("Stars"))
  49.         # self.table.setItem(0,3, QTableWidgetItem("Game Played"))
  50.         # self.table.setItem(0,4, QTableWidgetItem("Correct"))
  51.         # self.table.setItem(0,5, QTableWidgetItem("Wrong"))
  52.         # self.table.setItem(0,6, QTableWidgetItem("Total"))
  53.  
  54.         # user_games = self.db_engine.get_user_games(self.logged_in_user)
  55.  
  56.         # x = 1
  57.         # y = 0
  58.  
  59.         # """
  60.         # [(1, 'mekasu0124', 3, 'addition', 25, 19, 25), (2, 'mekasu0124', 15, 'subtraction', 16, 13, 25)]
  61.         # """
  62.  
  63.         # if user_games:
  64.         #     for index, value in enumerate(user_games):
  65.         #         self.table.setItem(x,y, QTableWidgetItem(user_games[index][0]))
  66.         #         y += 1
  67.  
  68.         self.scroll_area = QScrollArea(self)
  69.         self.scroll_area.setGeometry(20,20,1880,900)
  70.         self.scroll_area.setStyleSheet(self.scroll_area_style)
  71.  
  72.         self.label = QLabel(
  73.             "Id    | Username        | Stars         | Game Type         | Correct           | Wrong          | Total",
  74.             self.scroll_area
  75.         )
  76.         self.label.setGeometry(20,20,1850,70)
  77.         self.label.setStyleSheet(self.label_style)
  78.         self.label.setFont(self.font)
  79.         self.label.setWordWrap(False)
  80.         self.label.setAlignment(Qt.AlignCenter)
  81.  
  82.         user_games = self.db_engine.get_user_games(self.logged_in_user)
  83.  
  84.         if user_games:
  85.             x = 20
  86.             y = 100
  87.  
  88.             for i in range(len(user_games)):
  89.                 for index, value in enumerate(user_games):
  90.                     text = ""
  91.  
  92.                     for j in user_games[index]:
  93.                         text += f"{j}              "
  94.  
  95.                     self.label = QLabel(text, self.scroll_area)
  96.                     self.label.setGeometry(x,y,1850,70)
  97.                     self.label.setStyleSheet(self.label_style)
  98.                     self.label.setFont(self.font)
  99.                     self.label.setWordWrap(False)
  100.                     self.label.setAlignment(Qt.AlignCenter)
  101.  
  102.                 y += 100
  103.  
  104.         self.button = QPushButton("Back", self)
  105.         self.button.setGeometry(820,920,300,70)
  106.         self.button.setStyleSheet(self.button_style)
  107.         self.button.setFont(self.font)
  108.         self.button.clicked.connect(self.back_button)
  109.  
  110.     def back_button(self):
  111.         self.window_manager.close_window()
Advertisement
Add Comment
Please, Sign In to add comment