Beispiel #1
0
    def init_visual(self):
        main_layout = QGridLayout()

        label = QLabel('Place your ships.')

        randomize_btn = QPushButton(text='randomize')
        randomize_btn.clicked.connect(self.randomize_field)

        internal_layout = QGridLayout()
        internal_layout.setSpacing(0)
        for row in range(10):
            for column in range(10):
                button = QPushButton()
                button.setFixedSize(20, 20)
                button.setObjectName(f'{row}_{column}')
                button.installEventFilter(self)
                self.buttons[(row, column)] = button
                internal_layout.addWidget(button, row, column)

        self.next_btn = QPushButton(text='Start')
        self.next_btn.clicked.connect(root_widget.start_battle)
        self.next_btn.setEnabled(False)

        main_layout.addWidget(label, 0, 0, Qt.AlignCenter)
        main_layout.addWidget(randomize_btn, 1, 0)
        main_layout.addLayout(internal_layout, 3, 0)
        main_layout.addWidget(self.next_btn, 5, 0)

        self.setLayout(main_layout)
Beispiel #2
0
 def init_ai_field(self, layout):
     for row in range(10):
         for column in range(10):
             button = QPushButton()
             button.setFixedSize(20, 20)
             button.setObjectName(f'{row}_{column}')
             button.installEventFilter(self)
             self.ai_buttons[(row, column)] = button
             layout.addWidget(button, row, column)
def set_button_icon(parent: QObject, obj: QPushButton, leave_icon_path: str,
                    hover_icon_path: str):
    obj.setIcon(QIcon(leave_icon_path))
    obj.installEventFilter(
        ButtonHoverWatcher(
            leave_icon_path,
            hover_icon_path,
            parent=parent,
        ))