Вставка текста в PyQt приложение
После того, как я создал метод st_t4(), отвечающий за вставку текста для окна "Задание №4" интерпретатор стал выдавать ошибку:
Process finished with exit code 1073741845
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(816, 460)
MainWindow.setMinimumSize(QtCore.QSize(816, 460))
MainWindow.setMaximumSize(QtCore.QSize(816, 460))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(
QtCore.QRect(10, 10, 801, 441))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.task_4 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_4.setFont(font)
self.task_4.setObjectName("task_4")
self.verticalLayout.addWidget(self.task_4)
self.task_7 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_7.setFont(font)
self.task_7.setObjectName("task_7")
self.verticalLayout.addWidget(self.task_7)
self.task_9 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_9.setFont(font)
self.task_9.setObjectName("task_9")
self.verticalLayout.addWidget(self.task_9)
self.horizontalLayout.addLayout(self.verticalLayout)
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.task_10 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_10.setFont(font)
self.task_10.setObjectName("task_10")
self.verticalLayout_2.addWidget(self.task_10)
self.task_11 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_11.setFont(font)
self.task_11.setObjectName("task_11")
self.verticalLayout_2.addWidget(self.task_11)
self.task_12 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_12.setFont(font)
self.task_12.setObjectName("task_12")
self.verticalLayout_2.addWidget(self.task_12)
self.horizontalLayout.addLayout(self.verticalLayout_2)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.task_13 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_13.setFont(font)
self.task_13.setObjectName("task_13")
self.verticalLayout_3.addWidget(self.task_13)
self.task_14 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_14.setFont(font)
self.task_14.setObjectName("task_14")
self.verticalLayout_3.addWidget(self.task_14)
self.task_15 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_15.setFont(font)
self.task_15.setObjectName("task_15")
self.verticalLayout_3.addWidget(self.task_15)
self.horizontalLayout.addLayout(self.verticalLayout_3)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)
self.title_label = QtWidgets.QLabel(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(26)
self.title_label.setFont(font)
self.title_label.setObjectName("title_label")
self.gridLayout.addWidget(self.title_label, 1, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(
_translate("MainWindow", "MainWindow"))
self.task_4.setText(_translate("MainWindow", "Задание №4"))
self.task_7.setText(_translate("MainWindow", "Задание №7"))
self.task_9.setText(_translate("MainWindow", "Задание №9"))
self.task_10.setText(_translate("MainWindow", "Задание №10"))
self.task_11.setText(_translate("MainWindow", "Задание №11"))
self.task_12.setText(_translate("MainWindow", "Задание №12"))
self.task_13.setText(_translate("MainWindow", "Задание №13"))
self.task_14.setText(_translate("MainWindow", "Задание №14"))
self.task_15.setText(_translate("MainWindow", "Задание №15"))
self.title_label.setText(_translate("MainWindow",
"Тренажёр для подготовки к ЕГЭ по русскому языку"))
class Ui_MainWindow4(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 445)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(20, 10, 696, 95))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_4.setFont(font)
self.label_4.setObjectName("label_4")
self.outlabel_4 = QtWidgets.QLabel(self.centralwidget)
self.outlabel_4.setGeometry(QtCore.QRect(20, 340, 91, 31))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.outlabel_4.setFont(font)
self.outlabel_4.setObjectName("outlabel_4")
self.n_btn_4 = QtWidgets.QPushButton(self.centralwidget)
self.n_btn_4.setGeometry(QtCore.QRect(560, 390, 198, 39))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.n_btn_4.setFont(font)
self.n_btn_4.setObjectName("n_btn_4")
self.verticalLayoutWidget = QtWidgets.QWidget(
self.centralwidget)
self.verticalLayoutWidget.setGeometry(
QtCore.QRect(20, 120, 191, 201))
self.verticalLayoutWidget.setObjectName(
"verticalLayoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(
self.verticalLayoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.label_41 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_41.setFont(font)
self.label_41.setObjectName("label_41")
self.verticalLayout.addWidget(self.label_41)
self.label_42 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_42.setFont(font)
self.label_42.setObjectName("label_42")
self.verticalLayout.addWidget(self.label_42)
self.label_43 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_43.setFont(font)
self.label_43.setObjectName("label_43")
self.verticalLayout.addWidget(self.label_43)
self.label_44 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_44.setFont(font)
self.label_44.setObjectName("label_44")
self.verticalLayout.addWidget(self.label_44)
self.label_45 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_45.setFont(font)
self.label_45.setObjectName("label_45")
self.verticalLayout.addWidget(self.label_45)
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(110, 340, 651, 31))
self.lineEdit.setObjectName("lineEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(
_translate("MainWindow", "MainWindow"))
self.label_4.setText(_translate("MainWindow",
""))
self.outlabel_4.setText(_translate("MainWindow", "Ответ:"))
self.n_btn_4.setText(
_translate("MainWindow", "Отправить ответ"))
self.label_41.setText(_translate("MainWindow", "1 слово"))
self.label_42.setText(_translate("MainWindow", "2 слово"))
self.label_43.setText(_translate("MainWindow", "3 слово"))
self.label_44.setText(_translate("MainWindow", "4 слово"))
self.label_45.setText(_translate("MainWindow", "5 слово"))
class ForthTask(QMainWindow, Ui_MainWindow4):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle('Задание №4')
self.st_t4()
self.n_btn_4.clicked.connect(self.st_t4)
def st_t4(self):
self.label_4.setText(
'В одном из приведённых ниже слов допущена ошибка в \nпост'
'ановке ударения: НЕВЕРНО выделена буква, \nобозначающая '
'ударный гласный звук. Выпишите это слово.')
self.label_4.resize(self.window_4.label_4.sizeHint())
class Application(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle(
'Тренажёр для подготовки к ЕГЭ по русскому языку')
self.task_4.clicked.connect(self.forth_task)
def forth_task(self):
self.window_4 = ForthTask()
self.window_4.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Application()
ex.show()
sys.exit(app.exec())
Заранее благодарен.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Я не знаю зачем вам строка
self.label_4.resize(self.window_4.label_4.sizeHint())
проблема в ней.
P.S. Чтобы получать реальную ошибку всегда запускайте свое приложение в CMD/терминале/консоли.
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(816, 460)
MainWindow.setMinimumSize(QtCore.QSize(816, 460))
MainWindow.setMaximumSize(QtCore.QSize(816, 460))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(
QtCore.QRect(10, 10, 801, 441))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.task_4 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_4.setFont(font)
self.task_4.setObjectName("task_4")
self.verticalLayout.addWidget(self.task_4)
self.task_7 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_7.setFont(font)
self.task_7.setObjectName("task_7")
self.verticalLayout.addWidget(self.task_7)
self.task_9 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_9.setFont(font)
self.task_9.setObjectName("task_9")
self.verticalLayout.addWidget(self.task_9)
self.horizontalLayout.addLayout(self.verticalLayout)
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.task_10 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_10.setFont(font)
self.task_10.setObjectName("task_10")
self.verticalLayout_2.addWidget(self.task_10)
self.task_11 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_11.setFont(font)
self.task_11.setObjectName("task_11")
self.verticalLayout_2.addWidget(self.task_11)
self.task_12 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_12.setFont(font)
self.task_12.setObjectName("task_12")
self.verticalLayout_2.addWidget(self.task_12)
self.horizontalLayout.addLayout(self.verticalLayout_2)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.task_13 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_13.setFont(font)
self.task_13.setObjectName("task_13")
self.verticalLayout_3.addWidget(self.task_13)
self.task_14 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_14.setFont(font)
self.task_14.setObjectName("task_14")
self.verticalLayout_3.addWidget(self.task_14)
self.task_15 = QtWidgets.QPushButton(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(18)
self.task_15.setFont(font)
self.task_15.setObjectName("task_15")
self.verticalLayout_3.addWidget(self.task_15)
self.horizontalLayout.addLayout(self.verticalLayout_3)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)
self.title_label = QtWidgets.QLabel(self.gridLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(26)
self.title_label.setFont(font)
self.title_label.setObjectName("title_label")
self.gridLayout.addWidget(self.title_label, 1, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(
_translate("MainWindow", "MainWindow"))
self.task_4.setText(_translate("MainWindow", "Задание №4"))
self.task_7.setText(_translate("MainWindow", "Задание №7"))
self.task_9.setText(_translate("MainWindow", "Задание №9"))
self.task_10.setText(_translate("MainWindow", "Задание №10"))
self.task_11.setText(_translate("MainWindow", "Задание №11"))
self.task_12.setText(_translate("MainWindow", "Задание №12"))
self.task_13.setText(_translate("MainWindow", "Задание №13"))
self.task_14.setText(_translate("MainWindow", "Задание №14"))
self.task_15.setText(_translate("MainWindow", "Задание №15"))
self.title_label.setText(_translate("MainWindow",
"Тренажёр для подготовки к ЕГЭ по русскому языку"))
class Ui_MainWindow4(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 445)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(20, 10, 696, 95))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_4.setFont(font)
self.label_4.setObjectName("label_4")
self.outlabel_4 = QtWidgets.QLabel(self.centralwidget)
self.outlabel_4.setGeometry(QtCore.QRect(20, 340, 91, 31))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.outlabel_4.setFont(font)
self.outlabel_4.setObjectName("outlabel_4")
self.n_btn_4 = QtWidgets.QPushButton(self.centralwidget)
self.n_btn_4.setGeometry(QtCore.QRect(560, 390, 198, 39))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.n_btn_4.setFont(font)
self.n_btn_4.setObjectName("n_btn_4")
self.verticalLayoutWidget = QtWidgets.QWidget(
self.centralwidget)
self.verticalLayoutWidget.setGeometry(
QtCore.QRect(20, 120, 191, 201))
self.verticalLayoutWidget.setObjectName(
"verticalLayoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(
self.verticalLayoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.label_41 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_41.setFont(font)
self.label_41.setObjectName("label_41")
self.verticalLayout.addWidget(self.label_41)
self.label_42 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_42.setFont(font)
self.label_42.setObjectName("label_42")
self.verticalLayout.addWidget(self.label_42)
self.label_43 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_43.setFont(font)
self.label_43.setObjectName("label_43")
self.verticalLayout.addWidget(self.label_43)
self.label_44 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_44.setFont(font)
self.label_44.setObjectName("label_44")
self.verticalLayout.addWidget(self.label_44)
self.label_45 = QtWidgets.QLabel(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(20)
self.label_45.setFont(font)
self.label_45.setObjectName("label_45")
self.verticalLayout.addWidget(self.label_45)
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(110, 340, 651, 31))
self.lineEdit.setObjectName("lineEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(
_translate("MainWindow", "MainWindow"))
self.label_4.setText(_translate("MainWindow",
""))
self.outlabel_4.setText(_translate("MainWindow", "Ответ:"))
self.n_btn_4.setText(
_translate("MainWindow", "Отправить ответ"))
self.label_41.setText(_translate("MainWindow", "1 слово"))
self.label_42.setText(_translate("MainWindow", "2 слово"))
self.label_43.setText(_translate("MainWindow", "3 слово"))
self.label_44.setText(_translate("MainWindow", "4 слово"))
self.label_45.setText(_translate("MainWindow", "5 слово"))
class ForthTask(QMainWindow, Ui_MainWindow4):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle('Задание №4')
self.st_t4()
self.n_btn_4.clicked.connect(self.st_t4)
def st_t4(self):
self.label_4.setText(
'В одном из приведённых ниже слов допущена ошибка в \nпост'
'ановке ударения: НЕВЕРНО выделена буква, \nобозначающая '
'ударный гласный звук. Выпишите это слово.')
# уберите строку ниже
# self.label_4.resize(self.window_4.label_4.sizeHint())
# или так
self.label_4.resize(self.label_4.sizeHint())
class Application(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowTitle(
'Тренажёр для подготовки к ЕГЭ по русскому языку')
self.task_4.clicked.connect(self.forth_task)
def forth_task(self):
self.window_4 = ForthTask()
self.window_4.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Application()
ex.show()
sys.exit(app.exec())
