Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from PyQt5 import uic
- from PyQt5.Qt import QMainWindow, QApplication, QIcon, QLabel, QPixmap
- from functions import *
- from globals import *
- class Game(QMainWindow):
- def __init__(self):
- super().__init__()
- uic.loadUi('window.ui', self)
- self.buttons_list = ['b_1', 'b_2', 'b_3', 'b_4', 'b_5']
- for buttons_counter_1 in range(len(self.buttons_list)):
- exec(f"self.{self.buttons_list[buttons_counter_1]}.clicked.connect(self.btn_click)")
- self.apple = QIcon("images/apple.png")
- self.apple_stub = QIcon("images/apple_stub.png")
- self.apple_selected = QIcon("images/apple_selected.png")
- self.apple_stub_selected = QIcon("images/apple_stub_selected.png")
- self.pixmap_apple = QPixmap("images/apple.png")
- self.pixmap_apple_stub = QPixmap("images/apple_stub.png")
- self.pixmap_apple_selected = QPixmap("images/apple_selected.png")
- self.pixmap_apple_stub_selected = QPixmap("images/apple_stub_selected.png")
- def btn_click(self):
- if current_level <= 10:
- generate_true_values = 4
- elif 10 < current_level <= 20:
- generate_true_values = 3
- elif 20 < current_level <= 30:
- generate_true_values = 2
- else:
- generate_true_values = 1
- sender = self.sender().objectName()
- generated_list = generate(generate_true_values)
- false_answers = []
- true_answers = []
- for item in generated_list:
- exec(f"b_{item} = self.b_{item}")
- for button in self.buttons_list:
- try:
- exec(button)
- true_answers.append(button)
- except:
- false_answers.append(button)
- for answer in false_answers:
- if sender == answer:
- for true_answer in true_answers:
- exec(f"self.{true_answer}.setIcon(self.apple)")
- for false_answer in false_answers:
- exec(f"self.{false_answer}.setIcon(self.apple_stub)")
- if sender in true_answers:
- exec(f"self.{sender}.setIcon(self.apple_selected)")
- else:
- exec(f"self.{sender}.setIcon(self.apple_stub_selected)")
- break
- else:
- for true_answer in true_answers:
- exec(f"self.{true_answer}.setIcon(self.apple)")
- for false_answer in false_answers:
- exec(f"self.{false_answer}.setIcon(self.apple_stub)")
- exec(f"self.{sender}.setIcon(self.apple_selected)")
- for button_counter in range(len(self.buttons_list)):
- exec(f"self.button_label_{button_counter + 1} = QLabel(self)")
- exec(f"self.button_label_{button_counter + 1}.show()")
- exec(f"self.button_label_{button_counter + 1}.setFixedSize(64,64)")
- cords = eval(f"self.{self.buttons_list[button_counter]}.pos()")
- exec(f"self.button_label_{button_counter + 1}.move({cords.x()}, {cords.y()} - 74)")
- if __name__ == "__main__":
- app = QApplication(sys.argv)
- ex = Game()
- ex.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement