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

Нужны пояснения к открытию второго окна при окончании таймера, желательно как можно скорее

10.11.2022, 01:16. Показов 609. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть метод открытия второго окна:
Python
1
2
3
4
    def open_second_form_2(self):
        self.count_click_2 = self.ui.lcdNumber2_2page.value()
        self.third_form = ThirdForm(self, str(self.count_click_2))
        self.third_form.show()
Также у меня есть метод отсчёта таймера от 10 до 0:
Python
1
2
3
4
5
6
    def showTime_2page(self):
        self.ui.lcdNumber_time1_page_2.display(self.time2)    # выводит отсчёт в lcd 
        self.time2 -= 1  # !!!
        self.ui.lcdNumber2_2page.display(self.count / 10) 
        if self.time2 < 0:                                                       # остановка таймера
            self.timer2.stop()
Я так полагаю, что мне нужно открыть 2-ое окно после остановки таймера, но просто self.third_form.show() не срабатывает. => => я не понимаю как грамотно сделать открытие этого окна. Облазил уже весь интернет, но так и не нашёл.

p.s. не знаю как сделать норм код с отступами, так что сорри
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2022, 01:16
Ответы с готовыми решениями:

Нужны пояснения к моей проблеме как можно скорее! (Pyqt5)
У меня есть lcd number -&gt; self.lcdNumber2.display(args) и label. Я хочу вывести в label - &quot;хорошо&quot;, если lcd number больше 1, но меньше...

Закрытие по окончании таймера
Подскажите, пожалуйста, не могу понять в какое место надо вызвать функцию, чтобы юзерформы закрылись по окончании времени.

Как закрыть все окна по окончании сессии?
Во время работы приложения пользователь открывает много окон и забывает их закрыть. Как при закрытии приложения(Session.Abandon)...

5
171 / 111 / 65
Регистрация: 26.06.2020
Сообщений: 331
10.11.2022, 05:29
Цитата Сообщение от Bezobraize Посмотреть сообщение
self.time2 -= 1 # !!!
Это что?
Цитата Сообщение от Bezobraize Посмотреть сообщение
Также у меня есть метод отсчёта таймера от 10 до 0:
И что, отсчитывает?
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,656
10.11.2022, 13:55
Цитата Сообщение от Bezobraize Посмотреть сообщение
я не понимаю как грамотно сделать открытие этого окна. Облазил уже весь интернет, но так и не нашёл.
Наверное, будет проще с 0 написать
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
import sys
from PyQt5.QtWidgets import QWidget, QApplication, QLCDNumber, QLabel, QVBoxLayout
from PyQt5.QtCore    import QTimer
 
class W1(QWidget):
  def __init__(self, w2):
    super().__init__(None)
    self.w2 = w2
    self.counter = 10
    self.lcd = QLCDNumber()
    l = QVBoxLayout()
    l.addWidget(QLabel("первое окно"))
    l.addWidget(self.lcd)
    self.setLayout(l)
    self.tick()
    self.timer = QTimer()
    self.timer.timeout.connect(self.tick)
    self.timer.start(1000)
  def tick(self):
    self.lcd.display(self.counter)
    self.counter = self.counter - 1
    if self.counter < 0:
      self.w2.show()
      self.timer.stop()
 
class W2(QWidget):
  def __init__(self):
    super().__init__(None)
    l = QVBoxLayout()
    l.addWidget(QLabel("второе окно"))
    self.setLayout(l)
 
if __name__ == '__main__':
  app = QApplication(sys.argv)
  w2 = W2()
  w1 = W1(w2)
  w1.show()
  sys.exit(app.exec_())
1
0 / 0 / 0
Регистрация: 22.12.2021
Сообщений: 30
10.11.2022, 20:56  [ТС]
self.time -= 1 - это берёт значение и меняет его на 1 меньше, то есть обратный отсчёт. Да, таймер у меня уже есть и он работает при нажатии на кнопку

Добавлено через 15 минут
Я что-то не хочу переписывать 230 строк кода Можете объяснить почему лучше переписать с нуля?
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,656
10.11.2022, 23:26
Цитата Сообщение от Bezobraize Посмотреть сообщение
Можете объяснить почему лучше переписать с нуля?
Это я имел ввиду про себя. Другими словами, проще приложение с нуля написать по описанию, чем искать ошибку в коде, который не приведён полностью

Цитата Сообщение от Bezobraize Посмотреть сообщение
Я что-то не хочу переписывать 230 строк кода
Так не нужно переписывать. Изучите/запустите мой код и, возможно, это поможет пару строк переписать в вашем коде
0
0 / 0 / 0
Регистрация: 22.12.2021
Сообщений: 30
10.11.2022, 23:46  [ТС]
Понял, спасибо. Завтра разбирать буду
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2022, 23:46
Помогаю со студенческими работами здесь

Запуск второго таймера при остановке первого
Доброго времени суток, дело в том что у меня в проекте есть реализация двух таймеров, это Tm_Start и Tm_End, и в одной из ситуаций, по...

Как заставить привязку работать при создании второго окна
Доброго времени суток! Столкнулся с проблемой - упорно не хочет работать привязка к объекту во второй форме (в первой тоже привязывался,...

Как создать действие по открытию новой вкладки в браузере и можно ли это вообще?
Вот решил написать небольшую программку, может кто видел в вк на 1 апреля когда ставишь лайк появлялась картинка &quot;Ничосе&quot;, 1...

Нужны пояснения
Читаю &quot;С++ руководство для начинающих&quot; Герберта Шилдта. Дочитал до &quot;передача аргументов командной строки функции main()&quot;. То ли я...

Как сделать вызов второго окна при нажатии кнопки в первом окне?
Собственно вопрос, как сделать вызов второго окна при нажатии кнопки в первом окне? в данном коде получается что появляется второе окно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru