67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sys
 | |
| from os import path
 | |
| from PyQt5.QtWidgets import QApplication, QWidget, QLabel
 | |
| from PyQt5.QtCore import QTimer
 | |
| from PyQt5.QtGui import QPixmap
 | |
| 
 | |
| WINDOW_TITLE = "Attack Status"
 | |
| POSITION = [0, 0]
 | |
| SIZE = [912, 513]
 | |
| 
 | |
| FOLDER = ""
 | |
| if not path.isfile(FOLDER + "gui.py"):
 | |
|     FOLDER = "subprojects/gui/"
 | |
| PATH_ATTACK_FILE = "/home/guru/is_attacking/attacking" # Location of 'attacking'-file (interface)
 | |
| PATH_SMILEY = FOLDER + "img/smiley.png"
 | |
| PATH_SKULL = [FOLDER + "img/skull_black.png", FOLDER + "img/skull_orange.png"]
 | |
| 
 | |
| DELTA_TIME = 300
 | |
| GREEN = "#7cb342"
 | |
| ORANGE = "#e65100"
 | |
| BLACK = "#000000"
 | |
| 
 | |
| class Window(QWidget):
 | |
|     run = True # Run/stop loop
 | |
|     inverted = True # Use inverted colors
 | |
| 
 | |
|     def __init__(self):
 | |
|         # Initialize window
 | |
|         super().__init__()
 | |
|         self.setWindowTitle(WINDOW_TITLE)
 | |
|         self.setGeometry(POSITION[0], POSITION[1], SIZE[0], SIZE[1])
 | |
| 
 | |
|         # Show image
 | |
|         self.image = QLabel(self)
 | |
|         self.loop()
 | |
|         self.show()
 | |
| 
 | |
|     def loop(self):
 | |
|         # Start timer
 | |
|         if self.run:
 | |
|             QTimer.singleShot(DELTA_TIME, self.loop)
 | |
| 
 | |
|         # Update image
 | |
|         if path.isfile(PATH_ATTACK_FILE):
 | |
|             self.inverted = not self.inverted
 | |
|             if self.inverted:
 | |
|                 self.update_image(PATH_SKULL[1], BLACK)
 | |
|             else:
 | |
|                 self.update_image(PATH_SKULL[0], ORANGE)
 | |
|         else:
 | |
|             self.update_image(PATH_SMILEY, GREEN)
 | |
| 
 | |
|     def update_image(self, image_path, background_color):
 | |
|         self.image.setPixmap(QPixmap(image_path))
 | |
|         self.setStyleSheet("background-color: " + background_color)
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     # Run app until closed
 | |
|     app = QApplication(sys.argv)
 | |
|     window = Window()
 | |
|     app.exec_()
 | |
| 
 | |
|     # Terminate
 | |
|     window.run = False
 | |
|     sys.exit()
 | |
|      |