main.py 1.87 KB
Newer Older
Antoine Lima's avatar
Base UI  
Antoine Lima committed
1
2
3
4
5
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 18 18:34:40 2018

Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
6
@author: Antoine Lima, Leo Reynaert, Domitille Jehenne
Antoine Lima's avatar
Base UI  
Antoine Lima committed
7
8
"""

Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
9
10
import sys
import logging
Antoine Lima's avatar
Antoine Lima committed
11
from os.path import dirname, abspath, join
Antoine Lima's avatar
Base UI  
Antoine Lima committed
12
13

from PyQt5 import QtWidgets
14
15
from PyQt5.QtWidgets import QGraphicsBlurEffect
from PyQt5.QtCore import QTime, Qt
Antoine Lima's avatar
Antoine Lima committed
16

17
18
from ui.main_ui import Ui_MainWindow
from modules import *
Antoine Lima's avatar
Base UI  
Antoine Lima committed
19
20
21
22
23
24

class MainWin(QtWidgets.QMainWindow):
	def __init__(self, parent=None):
		QtWidgets.QWidget.__init__(self, parent)
		self.ui = Ui_MainWindow()
		self.ui.setupUi(self)
25
		
26
27
28
29
30
31
		#Background blur
		bgBlur = QGraphicsBlurEffect()
		bgBlur.setBlurHints(QGraphicsBlurEffect.QualityHint)
		#bgBlur.setBlurRadius(5)
		#self.ui.panels.setGraphicsEffect(bgBlur)
		
Antoine Lima's avatar
Antoine Lima committed
32
33
34
35
		# Set the content folder's path
		self._contentFolder = join(dirname(dirname(abspath(__file__))), 'content')
		print(self._contentFolder)
		
36
		# Module loading
Antoine Lima's avatar
Antoine Lima committed
37
38
39
40
41
42
43
44
		self.modules = [
			MenuModule(self),
			AuthModule(self),
			GameModule(self),
			EndGameModule(self),
			LeaderboardModule(self),
			OptionsModule(self)
		]
45
46
		
		for mod in self.modules:
Antoine Lima's avatar
Antoine Lima committed
47
			self.ui.panels.addWidget(mod)
48
		
Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
49
		self.ui.panels.setCurrentIndex(0)
50
51
52
		self.ui.panels.currentWidget().setFocus()
		self.ui.panels.currentWidget().grabKeyboard()
		self.ui.panels.currentWidget().load()
Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
53
54
		self.displaySystemTime()
		self.startTimer(1000)
55
56
57
	
	#def eventFilter(target, event):
	#	return event.type()==QEvent.KeyPress and event.key() not in acceptedKeys
Antoine Lima's avatar
Antoine Lima committed
58

Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
59
60
	def timerEvent(self, e):
		self.displaySystemTime()
Antoine Lima's avatar
Antoine Lima committed
61

Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
62
63
	def displaySystemTime(self):
		self.ui.lcdTime.display(QTime.currentTime().toString("hh:mm:ss"))
Antoine Lima's avatar
Antoine Lima committed
64
65
66
		
	def getContent(self, path):
		return join(self._contentFolder, path)
Antoine Lima's avatar
Base UI  
Antoine Lima committed
67
68
69

if __name__=='__main__':
	app = QtWidgets.QApplication(sys.argv)
Antoine Lima's avatar
UI v0.3  
Antoine Lima committed
70
71
	#logging.basicConfig(filename='babyfoot.log', level=logging.DEBUG)
	logging.basicConfig(level=logging.DEBUG)
Antoine Lima's avatar
Base UI  
Antoine Lima committed
72
73
	myapp = MainWin()
	myapp.show()
74
	app.exec_()