visualize.py (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser, QVBoxLayout
import sys
from PyQt6.QtGui import QIcon
from pyperclip import copy
from num2words import num2words
import generate
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Minesweeper About Me")
self.setWindowIcon(QIcon("banan.jpg"))
self.setGeometry(500,300,400,300)
stylesheet = (
'background-color:rgb(29, 29, 38); color:rgb(179, 179, 212)'
)
self.setStyleSheet(stylesheet)
self.create()
def create(self):
self.tb = QTextBrowser(self)
self.btn = QPushButton('generate new field', self)
self.btn.clicked.connect(self.visualize)
vbox = QVBoxLayout(self)
vbox.addWidget(self.tb)
vbox.addWidget(self.btn)
self.setLayout(vbox)
self.show()
self.visualize()
def visualize(self):
generatedField = generate.generate(4)
self.tb.clear()
field = ''
for i in range(0, len(generatedField)):
for j in generatedField[i]:
if j == -1:
field = field + '💣'
if -1 < j < 9:
field = field + str(j) + ' '
field = field + '\n'
text = ''
for i in range(0, len(generatedField)):
for j in generatedField[i]:
if j == -1:
text = f'{text}||:bomb:||'
if -1 < j < 9:
text = f'{text}||:{num2words(j)}:||'
text = text + '\n'
copy(text)
self.tb.append(field)
if __name__ == "__main__":
app = QApplication([])
window = Window()
window.show()
sys.exit(app.exec())
|