TI/Skrypty z zajęć/pyqt5
Z Brain-wiki
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import numpy as np
licznik = 0
znaki = np.array([["","",""],["","",""],["","",""]])
znaki_old = znaki.copy()
class NaszButton(QtWidgets.QPushButton):
def __init__(self,i,j,*args,**kwargs):
super().__init__(*args,**kwargs)
self.setGeometry(QtCore.QRect(i*200, j*200, 200, 200))
self.setText("")
self.clicked.connect(self.clickniecie)
self.i = i
self.j = j
def clickniecie(self):
global licznik
global znaki
global znaki_old
if znaki[self.i][self.j] == "":
licznik += 1
znaki_old = znaki
znaki = znaki_old.copy()
if licznik%2:
znaki[self.i][self.j] = 'X'
else:
znaki[self.i][self.j] = 'O'
self.setText(str(znaki[self.i][self.j]))
class NaszWidget(QtWidgets.QWidget):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
self.setObjectName("PlusMinus")
self.resize(600, 800)
self.buttony = []
for i in range(3):
for j in range(3):
self.buttony.append(NaszButton(i,j,self))
self.czyszczenie = QtWidgets.QPushButton(self)
self.czyszczenie.setGeometry(QtCore.QRect(0, 600, 600, 200))
self.czyszczenie.setText("czyszczenie")
self.czyszczenie.clicked.connect(self.czysc)
self.show()
def czysc(self):
global znaki
global licznik
znaki = znaki_old.copy()
licznik -=1
for button in self.buttony:
button.setText(str(znaki[button.i][button.j]))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
PlusMinus = NaszWidget()
sys.exit(app.exec_())