Пробую написать игру `Отгадай слово по буквам`, но третья итерация автоматически начинается с последней нажатой кнопки с буквой
main.py:
import sys
from random import *
from PyQt5 import QtCore, QtGui, QtWidgets
from Viseliza import *
from Dialog import *
words_list ['Указатель\n', 'Радуга\n', 'Мармелад\n']
def display_hugman(ost): #Картнки состояния человечка
if ost == 9:
root_Vis.label_1.setVisible(True)
if ost == 8:
root_Vis.label_2.setVisible(True)
if ost == 7:
root_Vis.label_3.setVisible(True)
if ost == 6:
root_Vis.label_4.setVisible(True)
if ost == 5:
root_Vis.label_5.setVisible(True)
if ost == 4:
root_Vis.label_6.setVisible(True)
if ost == 3:
root_Vis.label_7.setVisible(True)
if ost == 2:
root_Vis.label_8.setVisible(True)
if ost == 1:
root_Vis.label_9.setVisible(True)
if ost == 0:
root_Vis.label_10.setVisible(True)
def play(word): #Функция с кнопками
root_Vis.pushButtonA.clicked.connect(lambda: press_sym('А', word))
root_Vis.pushButton_B.clicked.connect(lambda: press_sym('Б', word))
root_Vis.pushButton_V.clicked.connect(lambda: press_sym('В', word))
root_Vis.pushButton_G.clicked.connect(lambda: press_sym('Г', word))
root_Vis.pushButton_D.clicked.connect(lambda: press_sym('Д', word))
root_Vis.pushButton_E.clicked.connect(lambda: press_sym('Е', word))
root_Vis.pushButton_GZ.clicked.connect(lambda: press_sym('Ж', word))
root_Vis.pushButton_Z.clicked.connect(lambda: press_sym('З', word))
root_Vis.pushButton_I.clicked.connect(lambda: press_sym('И', word))
root_Vis.pushButton_I2.clicked.connect(lambda: press_sym('Й', word))
root_Vis.pushButton_K.clicked.connect(lambda: press_sym('К', word))
root_Vis.pushButton_L.clicked.connect(lambda: press_sym('Л', word))
root_Vis.pushButton_M.clicked.connect(lambda: press_sym('М', word))
root_Vis.pushButton_N.clicked.connect(lambda: press_sym('Н', word))
root_Vis.pushButton_O.clicked.connect(lambda: press_sym('О', word))
root_Vis.pushButton_P.clicked.connect(lambda: press_sym('П', word))
root_Vis.pushButton_R.clicked.connect(lambda: press_sym('Р', word))
root_Vis.pushButton_S.clicked.connect(lambda: press_sym('С', word))
root_Vis.pushButton_T.clicked.connect(lambda: press_sym('Т', word))
root_Vis.pushButton_U.clicked.connect(lambda: press_sym('У', word))
root_Vis.pushButton_F.clicked.connect(lambda: press_sym('Ф', word))
root_Vis.pushButton_H.clicked.connect(lambda: press_sym('Х', word))
root_Vis.pushButton_Z_2.clicked.connect(lambda: press_sym('Ц', word))
root_Vis.pushButton_Ch.clicked.connect(lambda: press_sym('Ч', word))
root_Vis.pushButton_SCH.clicked.connect(lambda: press_sym('Ш', word))
root_Vis.pushButtonSCH2.clicked.connect(lambda: press_sym('Щ', word))
root_Vis.pushButton_B2.clicked.connect(lambda: press_sym('Ъ', word))
root_Vis.pushButton_B1.clicked.connect(lambda: press_sym('Ы', word))
root_Vis.pushButton_B3.clicked.connect(lambda: press_sym('Ь', word))
root_Vis.pushButton_E3.clicked.connect(lambda: press_sym('Э', word))
root_Vis.pushButton_Yu.clicked.connect(lambda: press_sym('Ю', word))
root_Vis.pushButton_Ya.clicked.connect(lambda: press_sym('Я', word))
print(word, 'play')
def press_sym(sym, word): #Если нажатая буква в слове
global res
global counter
global alf_uge
if sym in word:
for i in range(len(word)):
if sym == word[i]:
word[i] = '-'
res[i] = sym
root_Vis.label_slovo.setText(''.join(res))
if not sym in alf_uge:
alf_uge.append(sym)
alf_uge.sort()
root_Vis.label_alf_uge.setText(' '.join(alf_uge))
if word == ['-']*len(word):
print('ok')
alf_uge.clear
root_Vis.label_alf_uge.setText(' '.join(alf_uge))
Vopros()
else:
if word != ['-']*len(word):
if not sym in alf_uge:
alf_uge.append(sym)
alf_uge.sort()
root_Vis.label_alf_uge.setText(' '.join(alf_uge))
counter -= 1
root_Vis.label_ost.setText(str(counter))
display_hugman(counter)
print('no')
if counter == 0:
alf_uge.clear
root_Vis.label_alf_uge.setText(' '.join(alf_uge))
Vopros()
def Vopros(): #Диалоговое окно играть ли еще
Dialog = QtWidgets.QDialog()
root_dialog = Ui_Dialog()
root_dialog.setupUi(Dialog)
Dialog.show()
root_dialog.pushButton_Yes.clicked.connect(snova)
root_dialog.pushButton_No.clicked.connect(app.closeAllWindows)
root_dialog.pushButton_Yes.clicked.connect(Dialog.close)
root_dialog.pushButton_No.clicked.connect(Dialog.close)
Dialog.exec_()
def get_word(): #Генерация слова из списка word_list
root_Vis.pushButton.setVisible(False)
global word
word = choice(words_list)
word = word.upper()
word = word.strip()
word = list(word)
for _ in range(len(word)):
if 'Ё' in word:
ind = word.find('Ё')
word = word[:ind] + 'Е' + word[ind:]
global res
res = ['_']*len(word)
root_Vis.label_slovo.setText(''.join(res))
root_Vis.label_ost.setText('10')
print(word)
print(res, 'res')
play(word)
def snova(): #Обнуление и запуск игры
skrit()
global counter
global alf_uge
counter = 10
alf_uge = []
root_Vis.label_alf_uge.setText(' '. join(alf_uge))
get_word()
def skrit(): #Скрыть картинки
root_Vis.label_10.setVisible(False)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
Viseliza = QtWidgets.QMainWindow()
root_Vis = Ui_Viseliza()
root_Vis.setupUi(Viseliza)
snova()
Viseliza.show()
sys.exit(app.exec_())
Dialog.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 203)
Dialog.setStyleSheet("background-color: rgb(124, 124, 124);")
self.label_snova = QtWidgets.QLabel(Dialog)
self.label_snova.setGeometry(QtCore.QRect(0, 30, 401, 261))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_snova.sizePolicy().hasHeightForWidth())
self.label_snova.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("GOST type A")
font.setPointSize(24)
self.label_snova.setFont(font)
self.label_snova.setStyleSheet("background-color: rgb(124, 124, 124);")
self.label_snova.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop)
self.label_snova.setObjectName("label_snova")
self.pushButton_Yes = QtWidgets.QPushButton(Dialog)
self.pushButton_Yes.setGeometry(QtCore.QRect(90, 140, 85, 27))
font = QtGui.QFont()
font.setPointSize(12)
self.pushButton_Yes.setFont(font)
self.pushButton_Yes.setStyleSheet("background-color: rgb(125, 125, 125);")
self.pushButton_Yes.setObjectName("pushButton_Yes")
self.pushButton_No = QtWidgets.QPushButton(Dialog)
self.pushButton_No.setGeometry(QtCore.QRect(230, 140, 85, 27))
font = QtGui.QFont()
font.setPointSize(12)
self.pushButton_No.setFont(font)
self.pushButton_No.setStyleSheet("background-color: rgb(125, 125, 125);")
self.pushButton_No.setObjectName("pushButton_No")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Виселица"))
self.label_snova.setText(_translate("Dialog", "Попробовать снова?"))
self.pushButton_Yes.setText(_translate("Dialog", "ДА!"))
self.pushButton_No.setText(_translate("Dialog", "НЕТ"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
Viseliza.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Viseliza(object):
def setupUi(self, Viseliza):
Viseliza.setObjectName("Viseliza")
Viseliza.resize(1091, 814)
self.centralwidget = QtWidgets.QWidget(Viseliza)
self.centralwidget.setObjectName("centralwidget")
self.label_1 = QtWidgets.QLabel(self.centralwidget)
self.label_1.setGeometry(QtCore.QRect(40, 130, 400, 600))
self.label_1.setText("")
self.label_1.setObjectName("label_1")
self.label_name = QtWidgets.QLabel(self.centralwidget)
self.label_name.setGeometry(QtCore.QRect(300, 10, 501, 91))
self.label_name.setAlignment(QtCore.Qt.AlignCenter)
self.label_name.setObjectName("label_name")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(60, 130, 400, 600))
self.label_2.setText("")
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(50, 120, 400, 600))
self.label_3.setText("")
self.label_3.setObjectName("label_3")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(60, 120, 400, 600))
self.label_4.setText("")
self.label_4.setObjectName("label_4")
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(50, 120, 400, 600))
self.label_5.setText("")
self.label_5.setObjectName("label_5")
self.label_6 = QtWidgets.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(40, 120, 400, 600))
self.label_6.setText("")
self.label_6.setObjectName("label_6")
self.label_7 = QtWidgets.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(20, 120, 400, 600))
self.label_7.setText("")
self.label_7.setObjectName("label_7")
self.label_8 = QtWidgets.QLabel(self.centralwidget)
self.label_8.setGeometry(QtCore.QRect(20, 120, 400, 600))
self.label_8.setText("")
self.label_8.setObjectName("label_8")
self.label_9 = QtWidgets.QLabel(self.centralwidget)
self.label_9.setGeometry(QtCore.QRect(-30, 120, 400, 600))
self.label_9.setText("")
self.label_9.setObjectName("label_9")
self.label_10 = QtWidgets.QLabel(self.centralwidget)
self.label_10.setGeometry(QtCore.QRect(20, 120, 400, 600))
self.label_10.setText("")
self.label_10.setObjectName("label_10")
self.label_slovo = QtWidgets.QLabel(self.centralwidget)
self.label_slovo.setGeometry(QtCore.QRect(480, 220, 571, 71))
font = QtGui.QFont()
font.setFamily("Bahnschrift Light")
font.setPointSize(36)
font.setUnderline(False)
self.label_slovo.setFont(font)
self.label_slovo.setStyleSheet("color: rgb(124, 124, 124);")
self.label_slovo.setText("")
self.label_slovo.setAlignment(QtCore.Qt.AlignCenter)
self.label_slovo.setObjectName("label_slovo")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(560, 640, 131, 141))
self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.label.setObjectName("label")
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(QtCore.QRect(550, 310, 451, 301))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.pushButton_B3 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B3.setObjectName("pushButton_B3")
self.gridLayout.addWidget(self.pushButton_B3, 5, 3, 1, 1)
self.pushButton_B2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B2.setObjectName("pushButton_B2")
self.gridLayout.addWidget(self.pushButton_B2, 5, 1, 1, 1)
self.pushButton_B1 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B1.setObjectName("pushButton_B1")
self.gridLayout.addWidget(self.pushButton_B1, 5, 2, 1, 1)
self.pushButton_SCH = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_SCH.setObjectName("pushButton_SCH")
self.gridLayout.addWidget(self.pushButton_SCH, 4, 4, 1, 1)
self.pushButton_B = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B.setObjectName("pushButton_B")
self.gridLayout.addWidget(self.pushButton_B, 0, 1, 1, 1)
self.pushButton_V = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_V.setObjectName("pushButton_V")
self.gridLayout.addWidget(self.pushButton_V, 0, 2, 1, 1)
self.pushButtonA = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButtonA.setObjectName("pushButtonA")
self.gridLayout.addWidget(self.pushButtonA, 0, 0, 1, 1)
self.pushButton_GZ = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_GZ.setObjectName("pushButton_GZ")
self.gridLayout.addWidget(self.pushButton_GZ, 1, 1, 1, 1)
self.pushButton_E = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_E.setObjectName("pushButton_E")
self.gridLayout.addWidget(self.pushButton_E, 1, 0, 1, 1)
self.pushButton_Z = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Z.setObjectName("pushButton_Z")
self.gridLayout.addWidget(self.pushButton_Z, 1, 2, 1, 1)
self.pushButton_L = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_L.setObjectName("pushButton_L")
self.gridLayout.addWidget(self.pushButton_L, 2, 1, 1, 1)
self.pushButton_K = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_K.setObjectName("pushButton_K")
self.gridLayout.addWidget(self.pushButton_K, 2, 0, 1, 1)
self.pushButton_S = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_S.setObjectName("pushButton_S")
self.gridLayout.addWidget(self.pushButton_S, 3, 2, 1, 1)
self.pushButton_M = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_M.setObjectName("pushButton_M")
self.gridLayout.addWidget(self.pushButton_M, 2, 2, 1, 1)
self.pushButton_N = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_N.setObjectName("pushButton_N")
self.gridLayout.addWidget(self.pushButton_N, 2, 3, 1, 1)
self.pushButton_O = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_O.setObjectName("pushButton_O")
self.gridLayout.addWidget(self.pushButton_O, 2, 4, 1, 1)
self.pushButton_R = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_R.setObjectName("pushButton_R")
self.gridLayout.addWidget(self.pushButton_R, 3, 1, 1, 1)
self.pushButton_P = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_P.setObjectName("pushButton_P")
self.gridLayout.addWidget(self.pushButton_P, 3, 0, 1, 1)
self.pushButton_T = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_T.setObjectName("pushButton_T")
self.gridLayout.addWidget(self.pushButton_T, 3, 3, 1, 1)
self.pushButton_F = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_F.setObjectName("pushButton_F")
self.gridLayout.addWidget(self.pushButton_F, 4, 0, 1, 1)
self.pushButton_U = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_U.setObjectName("pushButton_U")
self.gridLayout.addWidget(self.pushButton_U, 3, 4, 1, 1)
self.pushButton_H = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_H.setObjectName("pushButton_H")
self.gridLayout.addWidget(self.pushButton_H, 4, 1, 1, 1)
self.pushButtonSCH2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButtonSCH2.setObjectName("pushButtonSCH2")
self.gridLayout.addWidget(self.pushButtonSCH2, 5, 0, 1, 1)
self.pushButton_Z_2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Z_2.setObjectName("pushButton_Z_2")
self.gridLayout.addWidget(self.pushButton_Z_2, 4, 2, 1, 1)
self.pushButton_Ch = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Ch.setObjectName("pushButton_Ch")
self.gridLayout.addWidget(self.pushButton_Ch, 4, 3, 1, 1)
self.pushButton_E3 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_E3.setObjectName("pushButton_E3")
self.gridLayout.addWidget(self.pushButton_E3, 5, 4, 1, 1)
self.pushButton_Yu = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Yu.setObjectName("pushButton_Yu")
self.gridLayout.addWidget(self.pushButton_Yu, 6, 0, 1, 1)
self.pushButton_Ya = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Ya.setObjectName("pushButton_Ya")
self.gridLayout.addWidget(self.pushButton_Ya, 6, 1, 1, 1)
self.pushButton_D = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_D.setObjectName("pushButton_D")
self.gridLayout.addWidget(self.pushButton_D, 0, 4, 1, 1)
self.pushButton_I = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_I.setObjectName("pushButton_I")
self.gridLayout.addWidget(self.pushButton_I, 1, 3, 1, 1)
self.pushButton_G = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_G.setObjectName("pushButton_G")
self.gridLayout.addWidget(self.pushButton_G, 0, 3, 1, 1)
self.pushButton_I2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_I2.setObjectName("pushButton_I2")
self.gridLayout.addWidget(self.pushButton_I2, 1, 4, 1, 1)
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(660, 140, 251, 41))
self.pushButton.setObjectName("pushButton")
self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(70, 740, 321, 41))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_12 = QtWidgets.QLabel(self.horizontalLayoutWidget)
self.label_12.setObjectName("label_12")
self.horizontalLayout.addWidget(self.label_12)
self.label_ost = QtWidgets.QLabel(self.horizontalLayoutWidget)
self.label_ost.setObjectName("label_ost")
self.horizontalLayout.addWidget(self.label_ost)
self.label_11 = QtWidgets.QLabel(self.centralwidget)
self.label_11.setGeometry(QtCore.QRect(130, 120, 671, 181))
font = QtGui.QFont()
font.setPointSize(72)
self.label_11.setFont(font)
self.label_11.setAlignment(QtCore.Qt.AlignCenter)
self.label_11.setObjectName("label_11")
self.label_alf_uge = QtWidgets.QLabel(self.centralwidget)
self.label_alf_uge.setGeometry(QtCore.QRect(700, 640, 341, 141))
font = QtGui.QFont()
font.setFamily("GOST type A")
font.setPointSize(16)
self.label_alf_uge.setFont(font)
self.label_alf_uge.setText("")
self.label_alf_uge.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.label_alf_uge.setObjectName("label_alf_uge")
Viseliza.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(Viseliza)
self.statusbar.setObjectName("statusbar")
Viseliza.setStatusBar(self.statusbar)
self.retranslateUi(Viseliza)
QtCore.QMetaObject.connectSlotsByName(Viseliza)
def retranslateUi(self, Viseliza):
_translate = QtCore.QCoreApplication.translate
Viseliza.setWindowTitle(_translate("Viseliza", "Виселица"))
self.label_name.setText(_translate("Viseliza", "Виселица"))
self.label.setText(_translate("Viseliza", "Вы уже пробовали:"))
self.pushButton_B3.setText(_translate("Viseliza", "Ь"))
self.pushButton_B2.setText(_translate("Viseliza", "Ъ"))
self.pushButton_B1.setText(_translate("Viseliza", "Ы"))
self.pushButton_SCH.setText(_translate("Viseliza", "Ш"))
self.pushButton_B.setText(_translate("Viseliza", "Б"))
self.pushButton_V.setText(_translate("Viseliza", "В"))
self.pushButtonA.setText(_translate("Viseliza", "А"))
self.pushButton_GZ.setText(_translate("Viseliza", "Ж"))
self.pushButton_E.setText(_translate("Viseliza", "Е"))
self.pushButton_Z.setText(_translate("Viseliza", "З"))
self.pushButton_L.setText(_translate("Viseliza", "Л"))
self.pushButton_K.setText(_translate("Viseliza", "К"))
self.pushButton_S.setText(_translate("Viseliza", "С"))
self.pushButton_M.setText(_translate("Viseliza", "М"))
self.pushButton_N.setText(_translate("Viseliza", "Н"))
self.pushButton_O.setText(_translate("Viseliza", "О"))
self.pushButton_R.setText(_translate("Viseliza", "Р"))
self.pushButton_P.setText(_translate("Viseliza", "П"))
self.pushButton_T.setText(_translate("Viseliza", "Т"))
self.pushButton_F.setText(_translate("Viseliza", "Ф"))
self.pushButton_U.setText(_translate("Viseliza", "У"))
self.pushButton_H.setText(_translate("Viseliza", "Х"))
self.pushButtonSCH2.setText(_translate("Viseliza", "Щ"))
self.pushButton_Z_2.setText(_translate("Viseliza", "Ц"))
self.pushButton_Ch.setText(_translate("Viseliza", "Ч"))
self.pushButton_E3.setText(_translate("Viseliza", "Э"))
self.pushButton_Yu.setText(_translate("Viseliza", "Ю"))
self.pushButton_Ya.setText(_translate("Viseliza", "Я"))
self.pushButton_D.setText(_translate("Viseliza", "Д"))
self.pushButton_I.setText(_translate("Viseliza", "И"))
self.pushButton_G.setText(_translate("Viseliza", "Г"))
self.pushButton_I2.setText(_translate("Viseliza", "Й"))
self.pushButton.setText(_translate("Viseliza", "Сгенерировать слово"))
self.label_12.setText(_translate("Viseliza", "Осталось попыток:"))
self.label_ost.setText(_translate("Viseliza", "10"))
self.label_11.setText(_translate("Viseliza", "Вы проиграли!"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Viseliza = QtWidgets.QMainWindow()
ui = Ui_Viseliza()
ui.setupUi(Viseliza)
Viseliza.show()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
В общем-то неплохо. Я правда не совсем понял какая у вас проблема возникает и при каких действиях, sorry.
Я немного изменил расположение виджетов, т.к. у меня экран маленький и не все видать.
А также:
Не рекомендуется злоупотреблять глобальными переменными,
как указано в разделе Почему глобальные переменные - зло?
Учим Object-Oriented Programming без него никак.
import sys
from random import *
from PyQt5 import QtCore, QtGui, QtWidgets
#from Viseliza import *
class Ui_Viseliza(object):
def setupUi(self, Viseliza):
Viseliza.setObjectName("Viseliza")
Viseliza.resize(1091, 714)
self.centralwidget = QtWidgets.QWidget(Viseliza)
self.centralwidget.setObjectName("centralwidget")
self.label_1 = QtWidgets.QLabel(self.centralwidget)
self.label_1.setGeometry(QtCore.QRect(10, 70, 400, 600))
self.label_1.setText("1")
self.label_1.setObjectName("label_1")
self.label_1.setStyleSheet("background-color: #CD1818;")
self.label_name = QtWidgets.QLabel(self.centralwidget)
self.label_name.setGeometry(QtCore.QRect(300, 10, 501, 91))
self.label_name.setAlignment(QtCore.Qt.AlignCenter)
self.label_name.setObjectName("label_name")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(20, 80, 400, 600))
self.label_2.setText("2")
self.label_2.setObjectName("label_2")
self.label_2.setStyleSheet("background-color: #62DD68;")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(30, 90, 400, 600))
self.label_3.setText("3")
self.label_3.setObjectName("label_3")
self.label_3.setStyleSheet("background-color: #78D398;")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(40, 100, 400, 600))
self.label_4.setText("4")
self.label_4.setObjectName("label_4")
self.label_4.setStyleSheet("background-color: #AAD398;")
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(50, 110, 400, 600))
self.label_5.setText("5")
self.label_5.setObjectName("label_5")
self.label_5.setStyleSheet("background-color: #78D3AA;")
self.label_6 = QtWidgets.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(60, 120, 400, 600))
self.label_6.setText("6")
self.label_6.setObjectName("label_6")
self.label_6.setStyleSheet("background-color: #787798;")
self.label_7 = QtWidgets.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(70, 130, 400, 600))
self.label_7.setText("7")
self.label_7.setObjectName("label_7")
self.label_7.setStyleSheet("background-color: #7BB748;")
self.label_8 = QtWidgets.QLabel(self.centralwidget)
self.label_8.setGeometry(QtCore.QRect(80, 140, 400, 600))
self.label_8.setText("8")
self.label_8.setObjectName("label_8")
self.label_8.setStyleSheet("background-color: #787798;")
self.label_9 = QtWidgets.QLabel(self.centralwidget)
self.label_9.setGeometry(QtCore.QRect(90, 150, 400, 600))
self.label_9.setText("9")
self.label_9.setObjectName("label_9")
self.label_9.setStyleSheet("background-color: #FAFE98;")
self.label_10 = QtWidgets.QLabel(self.centralwidget)
self.label_10.setGeometry(QtCore.QRect(100, 160, 400, 600))
self.label_10.setText("0")
self.label_10.setObjectName("label_10")
self.label_10.setStyleSheet("background-color: #F35570;")
self.label_slovo = QtWidgets.QLabel(self.centralwidget)
self.label_slovo.setGeometry(QtCore.QRect(480, 220, 571, 71))
font = QtGui.QFont()
font.setFamily("Bahnschrift Light")
font.setPointSize(36)
font.setUnderline(False)
self.label_slovo.setFont(font)
self.label_slovo.setStyleSheet("color: rgb(124, 124, 124);")
self.label_slovo.setText("")
self.label_slovo.setAlignment(QtCore.Qt.AlignCenter)
self.label_slovo.setObjectName("label_slovo")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(760, 620, 131, 141))
self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.label.setObjectName("label")
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(QtCore.QRect(550, 310, 451, 301))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.pushButton_B3 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B3.setObjectName("pushButton_B3")
self.gridLayout.addWidget(self.pushButton_B3, 5, 3, 1, 1)
self.pushButton_B2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B2.setObjectName("pushButton_B2")
self.gridLayout.addWidget(self.pushButton_B2, 5, 1, 1, 1)
self.pushButton_B1 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B1.setObjectName("pushButton_B1")
self.gridLayout.addWidget(self.pushButton_B1, 5, 2, 1, 1)
self.pushButton_SCH = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_SCH.setObjectName("pushButton_SCH")
self.gridLayout.addWidget(self.pushButton_SCH, 4, 4, 1, 1)
self.pushButton_B = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_B.setObjectName("pushButton_B")
self.gridLayout.addWidget(self.pushButton_B, 0, 1, 1, 1)
self.pushButton_V = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_V.setObjectName("pushButton_V")
self.gridLayout.addWidget(self.pushButton_V, 0, 2, 1, 1)
self.pushButtonA = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButtonA.setObjectName("pushButtonA")
self.gridLayout.addWidget(self.pushButtonA, 0, 0, 1, 1)
self.pushButton_GZ = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_GZ.setObjectName("pushButton_GZ")
self.gridLayout.addWidget(self.pushButton_GZ, 1, 1, 1, 1)
self.pushButton_E = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_E.setObjectName("pushButton_E")
self.gridLayout.addWidget(self.pushButton_E, 1, 0, 1, 1)
self.pushButton_Z = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Z.setObjectName("pushButton_Z")
self.gridLayout.addWidget(self.pushButton_Z, 1, 2, 1, 1)
self.pushButton_L = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_L.setObjectName("pushButton_L")
self.gridLayout.addWidget(self.pushButton_L, 2, 1, 1, 1)
self.pushButton_K = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_K.setObjectName("pushButton_K")
self.gridLayout.addWidget(self.pushButton_K, 2, 0, 1, 1)
self.pushButton_S = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_S.setObjectName("pushButton_S")
self.gridLayout.addWidget(self.pushButton_S, 3, 2, 1, 1)
self.pushButton_M = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_M.setObjectName("pushButton_M")
self.gridLayout.addWidget(self.pushButton_M, 2, 2, 1, 1)
self.pushButton_N = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_N.setObjectName("pushButton_N")
self.gridLayout.addWidget(self.pushButton_N, 2, 3, 1, 1)
self.pushButton_O = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_O.setObjectName("pushButton_O")
self.gridLayout.addWidget(self.pushButton_O, 2, 4, 1, 1)
self.pushButton_R = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_R.setObjectName("pushButton_R")
self.gridLayout.addWidget(self.pushButton_R, 3, 1, 1, 1)
self.pushButton_P = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_P.setObjectName("pushButton_P")
self.gridLayout.addWidget(self.pushButton_P, 3, 0, 1, 1)
self.pushButton_T = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_T.setObjectName("pushButton_T")
self.gridLayout.addWidget(self.pushButton_T, 3, 3, 1, 1)
self.pushButton_F = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_F.setObjectName("pushButton_F")
self.gridLayout.addWidget(self.pushButton_F, 4, 0, 1, 1)
self.pushButton_U = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_U.setObjectName("pushButton_U")
self.gridLayout.addWidget(self.pushButton_U, 3, 4, 1, 1)
self.pushButton_H = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_H.setObjectName("pushButton_H")
self.gridLayout.addWidget(self.pushButton_H, 4, 1, 1, 1)
self.pushButtonSCH2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButtonSCH2.setObjectName("pushButtonSCH2")
self.gridLayout.addWidget(self.pushButtonSCH2, 5, 0, 1, 1)
self.pushButton_Z_2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Z_2.setObjectName("pushButton_Z_2")
self.gridLayout.addWidget(self.pushButton_Z_2, 4, 2, 1, 1)
self.pushButton_Ch = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Ch.setObjectName("pushButton_Ch")
self.gridLayout.addWidget(self.pushButton_Ch, 4, 3, 1, 1)
self.pushButton_E3 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_E3.setObjectName("pushButton_E3")
self.gridLayout.addWidget(self.pushButton_E3, 5, 4, 1, 1)
self.pushButton_Yu = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Yu.setObjectName("pushButton_Yu")
self.gridLayout.addWidget(self.pushButton_Yu, 6, 0, 1, 1)
self.pushButton_Ya = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_Ya.setObjectName("pushButton_Ya")
self.gridLayout.addWidget(self.pushButton_Ya, 6, 1, 1, 1)
self.pushButton_D = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_D.setObjectName("pushButton_D")
self.gridLayout.addWidget(self.pushButton_D, 0, 4, 1, 1)
self.pushButton_I = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_I.setObjectName("pushButton_I")
self.gridLayout.addWidget(self.pushButton_I, 1, 3, 1, 1)
self.pushButton_G = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_G.setObjectName("pushButton_G")
self.gridLayout.addWidget(self.pushButton_G, 0, 3, 1, 1)
self.pushButton_I2 = QtWidgets.QPushButton(self.gridLayoutWidget)
self.pushButton_I2.setObjectName("pushButton_I2")
self.gridLayout.addWidget(self.pushButton_I2, 1, 4, 1, 1)
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(660, 140, 251, 41))
self.pushButton.setObjectName("pushButton")
self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
# self.horizontalLayoutWidget.setGeometry(QtCore.QRect(70, 740, 321, 41))
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(650, 120, 300, 100))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_12 = QtWidgets.QLabel(self.horizontalLayoutWidget)
self.label_12.setObjectName("label_12")
self.horizontalLayout.addWidget(self.label_12)
font.setPointSize(18)
self.label_12.setFont(font)
self.label_ost = QtWidgets.QLabel(self.horizontalLayoutWidget)
self.label_ost.setObjectName("label_ost")
self.horizontalLayout.addWidget(self.label_ost)
self.label_ost.setFont(font)
self.label_11 = QtWidgets.QLabel(self.centralwidget)
self.label_11.setGeometry(QtCore.QRect(430, 30, 671, 181))
font = QtGui.QFont()
font.setPointSize(55)
self.label_11.setFont(font)
self.label_11.setAlignment(QtCore.Qt.AlignCenter)
self.label_11.setObjectName("label_11")
self.label_alf_uge = QtWidgets.QLabel(self.centralwidget)
self.label_alf_uge.setGeometry(QtCore.QRect(700, 640, 341, 141))
font = QtGui.QFont()
font.setFamily("GOST type A")
font.setPointSize(16)
self.label_alf_uge.setFont(font)
self.label_alf_uge.setText("")
self.label_alf_uge.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.label_alf_uge.setObjectName("label_alf_uge")
Viseliza.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(Viseliza)
self.statusbar.setObjectName("statusbar")
Viseliza.setStatusBar(self.statusbar)
self.retranslateUi(Viseliza)
QtCore.QMetaObject.connectSlotsByName(Viseliza)
def retranslateUi(self, Viseliza):
_translate = QtCore.QCoreApplication.translate
Viseliza.setWindowTitle(_translate("Viseliza", "Виселица"))
self.label_name.setText(_translate("Viseliza", "Виселица"))
self.label.setText(_translate("Viseliza", "Вы уже пробовали:"))
self.pushButton_B3.setText(_translate("Viseliza", "Ь"))
self.pushButton_B2.setText(_translate("Viseliza", "Ъ"))
self.pushButton_B1.setText(_translate("Viseliza", "Ы"))
self.pushButton_SCH.setText(_translate("Viseliza", "Ш"))
self.pushButton_B.setText(_translate("Viseliza", "Б"))
self.pushButton_V.setText(_translate("Viseliza", "В"))
self.pushButtonA.setText(_translate("Viseliza", "А"))
self.pushButton_GZ.setText(_translate("Viseliza", "Ж"))
self.pushButton_E.setText(_translate("Viseliza", "Е"))
self.pushButton_Z.setText(_translate("Viseliza", "З"))
self.pushButton_L.setText(_translate("Viseliza", "Л"))
self.pushButton_K.setText(_translate("Viseliza", "К"))
self.pushButton_S.setText(_translate("Viseliza", "С"))
self.pushButton_M.setText(_translate("Viseliza", "М"))
self.pushButton_N.setText(_translate("Viseliza", "Н"))
self.pushButton_O.setText(_translate("Viseliza", "О"))
self.pushButton_R.setText(_translate("Viseliza", "Р"))
self.pushButton_P.setText(_translate("Viseliza", "П"))
self.pushButton_T.setText(_translate("Viseliza", "Т"))
self.pushButton_F.setText(_translate("Viseliza", "Ф"))
self.pushButton_U.setText(_translate("Viseliza", "У"))
self.pushButton_H.setText(_translate("Viseliza", "Х"))
self.pushButtonSCH2.setText(_translate("Viseliza", "Щ"))
self.pushButton_Z_2.setText(_translate("Viseliza", "Ц"))
self.pushButton_Ch.setText(_translate("Viseliza", "Ч"))
self.pushButton_E3.setText(_translate("Viseliza", "Э"))
self.pushButton_Yu.setText(_translate("Viseliza", "Ю"))
self.pushButton_Ya.setText(_translate("Viseliza", "Я"))
self.pushButton_D.setText(_translate("Viseliza", "Д"))
self.pushButton_I.setText(_translate("Viseliza", "И"))
self.pushButton_G.setText(_translate("Viseliza", "Г"))
self.pushButton_I2.setText(_translate("Viseliza", "Й"))
self.pushButton.setText(_translate("Viseliza", "Сгенерировать слово"))
self.label_12.setText(_translate("Viseliza", "Осталось попыток:"))
self.label_ost.setText(_translate("Viseliza", "10"))
self.label_11.setText(_translate("Viseliza", "Вы проиграли!"))
#from Dialog import *
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 203)
Dialog.setStyleSheet("background-color: rgb(124, 124, 124);")
self.label_snova = QtWidgets.QLabel(Dialog)
self.label_snova.setGeometry(QtCore.QRect(0, 30, 401, 261))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_snova.sizePolicy().hasHeightForWidth())
self.label_snova.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("GOST type A")
font.setPointSize(24)
self.label_snova.setFont(font)
self.label_snova.setStyleSheet("background-color: rgb(124, 124, 124);")
self.label_snova.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop)
self.label_snova.setObjectName("label_snova")
self.pushButton_Yes = QtWidgets.QPushButton(Dialog)
self.pushButton_Yes.setGeometry(QtCore.QRect(90, 140, 85, 27))
font = QtGui.QFont()
font.setPointSize(12)
self.pushButton_Yes.setFont(font)
self.pushButton_Yes.setStyleSheet("background-color: rgb(125, 125, 125);")
self.pushButton_Yes.setObjectName("pushButton_Yes")
self.pushButton_No = QtWidgets.QPushButton(Dialog)
self.pushButton_No.setGeometry(QtCore.QRect(230, 140, 85, 27))
font = QtGui.QFont()
font.setPointSize(12)
self.pushButton_No.setFont(font)
self.pushButton_No.setStyleSheet("background-color: rgb(125, 125, 125);")
self.pushButton_No.setObjectName("pushButton_No")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Виселица"))
self.label_snova.setText(_translate("Dialog", "Попробовать снова?"))
self.pushButton_Yes.setText(_translate("Dialog", "ДА!"))
self.pushButton_No.setText(_translate("Dialog", "НЕТ"))
#with open('Words.txt', 'r', encoding="utf-8") as file:
# words_list = file.readlines() #Список, где каждая строка - элемент списка
words_list = ['Указатель\n', 'Радуга\n', 'Мармелад\n']
class MainWindow( QtWidgets.QMainWindow, Ui_Viseliza): # !!! +++
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
self.counter = 10 # !!! +++
self.alf_uge = [] # !!! +++
self.word = None # !!! +++
self.res = None # !!! +++
self.snova()
self.play() # !!! +++ да
def snova(self): # Обнуление и запуск игры
self.skrit()
# global counter
# global alf_uge
self.counter = 10
self.alf_uge = []
self.label_alf_uge.setText(' '.join(self.alf_uge))
self.get_word()
def skrit(self): # Скрыть картинки
self.label_1.setVisible(False)
self.label_2.setVisible(False)
self.label_3.setVisible(False)
self.label_4.setVisible(False)
self.label_5.setVisible(False)
self.label_6.setVisible(False)
self.label_7.setVisible(False)
self.label_8.setVisible(False)
self.label_9.setVisible(False)
self.label_10.setVisible(False)
self.label_11.setVisible(False)
def get_word(self): # Генерация слова из списка word_list
self.pushButton.setVisible(False)
# global word
self.word = choice(words_list)
self.word = self.word.upper()
self.word = self.word.strip()
self.word = list(self.word)
for _ in range(len(self.word)):
if 'Ё' in self.word:
ind = self.word.find('Ё')
self.word = self.word[:ind] + 'Е' + self.word[ind:]
# global res
self.res = ['.']*len(self.word)
self.label_slovo.setText(''.join(self.res))
self.label_slovo.setStyleSheet("background-color: #995570;")
self.label_ost.setText('10')
# self.label_ost.setStyleSheet("background-color: #ff5570;")
#print(f'word = {self.word}')
#print(f'res = {self.res}')
# self.play() нет
def play(self): # Функция с кнопками -word
self.pushButtonA.clicked.connect(lambda: self.press_sym('А'))
self.pushButton_B.clicked.connect(lambda: self.press_sym('Б'))
self.pushButton_V.clicked.connect(lambda: self.press_sym('В'))
self.pushButton_G.clicked.connect(lambda: self.press_sym('Г'))
self.pushButton_D.clicked.connect(lambda: self.press_sym('Д'))
self.pushButton_E.clicked.connect(lambda: self.press_sym('Е'))
self.pushButton_GZ.clicked.connect(lambda: self.press_sym('Ж'))
self.pushButton_Z.clicked.connect(lambda: self.press_sym('З'))
self.pushButton_I.clicked.connect(lambda: self.press_sym('И'))
self.pushButton_I2.clicked.connect(lambda: self.press_sym('Й'))
self.pushButton_K.clicked.connect(lambda: self.press_sym('К'))
self.pushButton_L.clicked.connect(lambda: self.press_sym('Л'))
self.pushButton_M.clicked.connect(lambda: self.press_sym('М'))
self.pushButton_N.clicked.connect(lambda: self.press_sym('Н'))
self.pushButton_O.clicked.connect(lambda: self.press_sym('О'))
self.pushButton_P.clicked.connect(lambda: self.press_sym('П'))
self.pushButton_R.clicked.connect(lambda: self.press_sym('Р'))
self.pushButton_S.clicked.connect(lambda: self.press_sym('С'))
self.pushButton_T.clicked.connect(lambda: self.press_sym('Т'))
self.pushButton_U.clicked.connect(lambda: self.press_sym('У'))
self.pushButton_F.clicked.connect(lambda: self.press_sym('Ф'))
self.pushButton_H.clicked.connect(lambda: self.press_sym('Х'))
self.pushButton_Z_2.clicked.connect(lambda: self.press_sym('Ц'))
self.pushButton_Ch.clicked.connect(lambda: self.press_sym('Ч'))
self.pushButton_SCH.clicked.connect(lambda: self.press_sym('Ш'))
self.pushButtonSCH2.clicked.connect(lambda: self.press_sym('Щ'))
self.pushButton_B2.clicked.connect(lambda: self.press_sym('Ъ'))
self.pushButton_B1.clicked.connect(lambda: self.press_sym('Ы'))
self.pushButton_B3.clicked.connect(lambda: self.press_sym('Ь'))
self.pushButton_E3.clicked.connect(lambda: self.press_sym('Э'))
self.pushButton_Yu.clicked.connect(lambda: self.press_sym('Ю'))
self.pushButton_Ya.clicked.connect(lambda: self.press_sym('Я'))
#print(self.word, 'play --------------------------')
def press_sym(self, sym): # Если нажатая буква в слове
# global res
# global counter
# global alf_uge
if not self.counter: # +++
self.vopros()
return
if sym in self.word:
for i in range(len(self.word)):
if sym == self.word[i]:
self.word[i] = '-'
self.res[i] = sym
self.label_slovo.setText(''.join(self.res))
if not sym in self.alf_uge:
self.alf_uge.append(sym)
self.alf_uge.sort()
self.label_alf_uge.setText(' '.join(self.alf_uge))
if self.word == ['-']*len(self.word):
print('ok')
self.alf_uge.clear() # ()
self.label_alf_uge.setText(' '.join(self.alf_uge))
self.counter = 0 # +++
self.label_11.setText('Успех, поздавляем!') # +++
self.label_11.setVisible(True) # +++
self.vopros()
else:
if self.word != ['-']*len(self.word):
if not sym in self.alf_uge:
self.alf_uge.append(sym)
self.alf_uge.sort()
self.label_alf_uge.setText(' '.join(self.alf_uge))
self.counter -= 1
self.label_ost.setText(str(self.counter))
print('no')
self.display_hugman()
if self.counter == 0:
self.alf_uge.clear() # ()
self.label_alf_uge.setText(' '.join(self.alf_uge))
self.vopros()
def vopros(self): # Диалоговое окно играть ли еще
self.dialog = QtWidgets.QDialog()
root_dialog = Ui_Dialog()
root_dialog.setupUi(self.dialog)
# self.dialog.show()
root_dialog.pushButton_Yes.clicked.connect(self.snova)
root_dialog.pushButton_No.clicked.connect(app.closeAllWindows)
root_dialog.pushButton_Yes.clicked.connect(self.dialog.close)
root_dialog.pushButton_No.clicked.connect(self.dialog.close)
self.dialog.exec_()
def display_hugman(self): # Картнки состояния человечка
print(f'ost = {self.counter}') #
if self.counter == 9:
self.label_1.setVisible(True)
# elif vvvv <------------------------------------------------------------------
elif self.counter == 8:
self.label_2.setVisible(True)
elif self.counter == 7:
self.label_3.setVisible(True)
elif self.counter == 6:
self.label_4.setVisible(True)
elif self.counter == 5:
self.label_5.setVisible(True)
elif self.counter == 4:
self.label_6.setVisible(True)
elif self.counter == 3:
self.label_7.setVisible(True)
elif self.counter == 2:
self.label_8.setVisible(True)
elif self.counter == 1:
self.label_9.setVisible(True)
elif self.counter == 0:
self.label_10.setVisible(True)
self.label_11.setText("Вы проиграли!") # +++
self.label_11.setVisible(True) # +++
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
# +++ vvvvvvvvvvvvv
app.setStyleSheet("""
QPushButton {
color: #000833;
font-size: 21px;
}
""")
# Viseliza = QtWidgets.QMainWindow()
# root_Vis = Ui_Viseliza()
# root_Vis.setupUi(Viseliza)
# snova()
w = MainWindow() # !!! +++
w.show() # !!! +++
sys.exit(app.exec_())


