Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 4

pyqt Пытаюсь написать программу тест

27.06.2023, 12:04. Показов 1247. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тест в котором выводит вопрос и к нему 3 варианта ответа.
Создал 3 окна. В первом начальная менюшка старт/выход. Во второй уже идут вопросы, а третье окно связывает их(то есть при нажатии кнопки старт в первом окне открывается второе) Проблема в чем. Нужно сделать 15 вопросов, а я не могу найти информацию как менять название вопроса и кнопок ответа при их нажатиях, и количество правильных ответов должен выводиться в конце. Помогите пожалуйста!

Python
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
65
66
67
68
69
70
71
72
73
from PyQt5 import QtCore, QtGui, QtWidgets
 
 
class Ui_forma1(object):
    def setupUi(self, forma1):
        forma1.setObjectName("forma1")
        forma1.resize(300, 300)
        forma1.setStyleSheet("background-color: rgb(190, 190, 190);")
        self.centralwidget = QtWidgets.QWidget(forma1)
        self.centralwidget.setObjectName("centralwidget")
        self.label_danniestud = QtWidgets.QLabel(self.centralwidget)
        self.label_danniestud.setGeometry(QtCore.QRect(10, 10, 151, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_danniestud.sizePolicy().hasHeightForWidth())
        self.label_danniestud.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label_danniestud.setFont(font)
        self.label_danniestud.setStyleSheet("")
        self.label_danniestud.setObjectName("label_danniestud")
        self.btn_start = QtWidgets.QPushButton(self.centralwidget)
        self.btn_start.setGeometry(QtCore.QRect(50, 220, 91, 41))
        self.btn_start.setStyleSheet("background-color: rgb(229, 229, 229);")
        self.btn_start.setObjectName("btn_start")
        self.btn_exit = QtWidgets.QPushButton(self.centralwidget)
        self.btn_exit.setGeometry(QtCore.QRect(160, 220, 91, 41))
        self.btn_exit.setStyleSheet("background-color: rgb(229, 229, 229);")
        self.btn_exit.setObjectName("btn_exit")
        self.TextEdit_FIO = QtWidgets.QPlainTextEdit(self.centralwidget)
        self.TextEdit_FIO.setGeometry(QtCore.QRect(30, 70, 241, 31))
        self.TextEdit_FIO.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.TextEdit_FIO.setObjectName("TextEdit_FIO")
        self.TextEdit_nomergroupi = QtWidgets.QPlainTextEdit(self.centralwidget)
        self.TextEdit_nomergroupi.setGeometry(QtCore.QRect(30, 160, 241, 31))
        self.TextEdit_nomergroupi.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.TextEdit_nomergroupi.setObjectName("TextEdit_nomergroupi")
        self.label_FIO = QtWidgets.QLabel(self.centralwidget)
        self.label_FIO.setGeometry(QtCore.QRect(20, 39, 121, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_FIO.sizePolicy().hasHeightForWidth())
        self.label_FIO.setSizePolicy(sizePolicy)
        self.label_FIO.setStyleSheet("")
        self.label_FIO.setObjectName("label_FIO")
        self.label_nomergroupi = QtWidgets.QLabel(self.centralwidget)
        self.label_nomergroupi.setGeometry(QtCore.QRect(20, 129, 121, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_nomergroupi.sizePolicy().hasHeightForWidth())
        self.label_nomergroupi.setSizePolicy(sizePolicy)
        self.label_nomergroupi.setStyleSheet("")
        self.label_nomergroupi.setObjectName("label_nomergroupi")
        forma1.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(forma1)
        self.statusbar.setObjectName("statusbar")
        forma1.setStatusBar(self.statusbar)
 
        self.retranslateUi(forma1)
        QtCore.QMetaObject.connectSlotsByName(forma1)
 
    def retranslateUi(self, forma1):
        _translate = QtCore.QCoreApplication.translate
        forma1.setWindowTitle(_translate("forma1", "Форма 1"))
        self.label_danniestud.setText(_translate("forma1", "Данные студента"))
        self.btn_start.setText(_translate("forma1", "Старт"))
        self.btn_exit.setText(_translate("forma1", "Выход"))
        self.label_FIO.setText(_translate("forma1", "ФИО"))
        self.label_nomergroupi.setText(_translate("forma1", "Номер группы"))

# ВТОРОЕ ОКНО

Python
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
65
66
67
68
69
70
71
from PyQt5 import QtCore, QtGui, QtWidgets
 
 
class Ui_forma2(object):
    def setupUi(self, forma2):
        forma2.setObjectName("forma2")
        forma2.resize(500, 300)
        forma2.setStyleSheet("background-color: rgb(180, 180, 180);")
        self.centralwidget = QtWidgets.QWidget(forma2)
        self.centralwidget.setObjectName("centralwidget")
        self.label_Zadanie = QtWidgets.QLabel(self.centralwidget)
        self.label_Zadanie.setGeometry(QtCore.QRect(20, 20, 221, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_Zadanie.sizePolicy().hasHeightForWidth())
        self.label_Zadanie.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setPointSize(8)
        font.setBold(True)
        font.setWeight(75)
        self.label_Zadanie.setFont(font)
        self.label_Zadanie.setStyleSheet("")
        self.label_Zadanie.setObjectName("label_Zadanie")
        self.label_vopros = QtWidgets.QLabel(self.centralwidget)
        self.label_vopros.setGeometry(QtCore.QRect(30, 70, 281, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_vopros.sizePolicy().hasHeightForWidth())
        self.label_vopros.setSizePolicy(sizePolicy)
        self.label_vopros.setStyleSheet("")
        self.label_vopros.setObjectName("label_vopros")
        self.label_varianti = QtWidgets.QLabel(self.centralwidget)
        self.label_varianti.setGeometry(QtCore.QRect(40, 110, 121, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_varianti.sizePolicy().hasHeightForWidth())
        self.label_varianti.setSizePolicy(sizePolicy)
        self.label_varianti.setStyleSheet("")
        self.label_varianti.setObjectName("label_varianti")
        self.btn_trueOtvet = QtWidgets.QPushButton(self.centralwidget)
        self.btn_trueOtvet.setGeometry(QtCore.QRect(60, 150, 371, 31))
        self.btn_trueOtvet.setStyleSheet("background-color: rgb(229, 229, 229);")
        self.btn_trueOtvet.setObjectName("btn_trueOtvet")
        self.btn_falseOtvet1 = QtWidgets.QPushButton(self.centralwidget)
        self.btn_falseOtvet1.setGeometry(QtCore.QRect(60, 190, 371, 31))
        self.btn_falseOtvet1.setStyleSheet("background-color: rgb(229, 229, 229);")
        self.btn_falseOtvet1.setObjectName("btn_falseOtvet1")
        self.btn_falseOtvet2 = QtWidgets.QPushButton(self.centralwidget)
        self.btn_falseOtvet2.setGeometry(QtCore.QRect(60, 230, 371, 31))
        self.btn_falseOtvet2.setStyleSheet("background-color: rgb(229, 229, 229);")
        self.btn_falseOtvet2.setObjectName("btn_falseOtvet2")
        forma2.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(forma2)
        self.statusbar.setObjectName("statusbar")
        forma2.setStatusBar(self.statusbar)
 
        self.retranslateUi(forma2)
        QtCore.QMetaObject.connectSlotsByName(forma2)
   #     self.PUK()
    def retranslateUi(self, forma2):
        _translate = QtCore.QCoreApplication.translate
        forma2.setWindowTitle(_translate("forma2", "MainWindow"))
        self.label_Zadanie.setText(_translate("forma2", "Ответьте на следующий вопрос"))
        self.label_varianti.setText(_translate("forma2", "Варианты ответов"))
        self.label_vopros.setText(_translate("forma2", "Скорость передачи данных характеризуется"))
        self.btn_trueOtvet.setText(_translate("forma2", "бит/с"))
        self.btn_falseOtvet1.setText(_translate("forma2", "Км/ч"))
        self.btn_falseOtvet2.setText(_translate("forma2", "Мб/м"))


#ТРЕТЬЕ ОКНО

Python
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
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from Forma1 import Ui_forma1
from Forma2 import Ui_forma2
 
app = QtWidgets.QApplication(sys.argv)
 
forma1 = QtWidgets.QMainWindow()
ui = Ui_forma1()
ui.setupUi(forma1)
forma1.show()
 
def openOtherWindow():
    global forma2
    forma2 = QtWidgets.QMainWindow()
    ui = Ui_forma2()
    ui.setupUi(forma2)
    forma1.close()
    forma2.show()
def exitwindow():
    exit()
 
 
 
ui.btn_start.clicked.connect(openOtherWindow)
 
ui.btn_exit.clicked.connect(exitwindow)
 
 
def openOtherWindow2():
    global forma3
    forma3 = QtWidgets.QMainWindow()
    ui = Ui_forma3()
    ui.setupUi(forma3)
    forma2.close()
    forma3.show()
 
 
ui.btn_trueOtvet.clicked.connect(openOtherWindow2)
ui.btn_falseOtvet1.clicked.connect(openOtherWindow2)
ui.btn_falseOtvet2.clicked.connect(openOtherWindow2)
 
sys.exit(app.exec_())
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2023, 12:04
Ответы с готовыми решениями:

Построить блок-схему, написать и отладить программу. Написать тест в программу
Дано четырехзначное число. Найти сумму и произведение его цифр.

Пытаюсь написать свою первую программу...
Доброго времени дня! Хочу сообщить сразу - я не программист, но хочу ... :) ... научиться ... Выбрал Delphi - потому, что знакомый дал...

Пытаюсь написать программу для быстрой сортировки
Пытаюсь написать программу быстрой сортировки, работает некорректно, может кто посмотреть? #include <iostream> using namespace...

3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.06.2023, 12:06
Лучший ответ Сообщение было отмечено Lethalart как решение

Решение

Lethalart, example
1
0 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 4
27.06.2023, 12:25  [ТС]
iSmokeJC, А файл с вопросами как привязать? Или его в этом же окне кидать

Добавлено через 54 секунды
iSmokeJC, А файл с вопросами куда кидать? или как его привязать?)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.06.2023, 12:26
Там все написано же

Добавлено через 16 секунд
Рядом со скриптом положить
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2023, 12:26
Помогаю со студенческими работами здесь

Пытаюсь написать программу для быстрой сортировки
#include <iostream> using namespace std; void Sort(){ int n, a, j; cout<<"Skolko elementov v massive?\n"; cin>>n; int arg; ...

Пытаюсь написать программу для решения уравнения
Доброго времени суток. Вторые сутки бьюсь над написанием. Сложность вся в том, что высшую математику ещё не проходил. А по информатике...

Написать программу в Excel, пытаюсь понять, но не получается
Написать программу сведений о выпускниках университета. Структура исходных данных: шифр студента, фамилия, имя, отчество, год окончания...

Пытаюсь написать программу по нахождению НОК, но программа зацикливается
Доброго времени суток. Я уже все перепробовал, но на repeat программа зацикливается. В чем ошибка? program nok; var...

Пытаюсь написать программу интерполяция Лангража пишет ошибку
#pragma endregion String^ decSeparator; private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru