Я попросил искусственный интеллект написать программу, и зря попросил ее усложнить, теперь не знаю что делать, он только обещает, что зайдет на облака и посмотрит мой код. Можете посмотреть, почему счетчик неправильно считает? Он должен считать до обновления, а он живет своей жизнью. Кнопка которая лайкает закрывает текст, если не поможете с кнопкой ну и ладно. Помогите хотя бы со счетчиком - пожалуйста.
# Создаем функцию для обновления таймера
def update_timer():
# Добавляем одну секунду к объекту времени
time.addSecs(1)
# Выводим время в формате MM:SS на метку
label.setText(time.toString("mm:ss"))
# Связываем кнопку с функцией лайка
like_button.clicked.connect(like_quote)
# Создаем новую базу данных SQLite для сохранения истории
conn2 = sqlite3.connect("history.db")
c2 = conn2.cursor()
# Создаем таблицу для хранения истории с полем даты и времени
c2.execute("CREATE TABLE IF NOT EXISTS history (text TEXT, date_time TEXT, liked INTEGER)")
conn2.commit()
# Создаем функцию для обновления анекдотов
def update_quote():
# Создаем объект времени с начальным значением 00:00:00
time = QTime(0, 0, 0)
# Объявляем переменную quote как глобальную, чтобы использовать ее в других функциях
global quote
# Выбираем случайный анекдот из списка
quote = random.choice(quotes)
# Выводим анекдот на метку
label.setText(f"{quote[0]}")
# Получаем текущую дату и время в формате YYYY-MM-DD HH:MM:SS
date_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# Сохраняем анекдоты, дату и время в таблицу истории
c2.execute("INSERT INTO history VALUES (?, ?, ?)", (quote[0], date_time, 0))
conn2.commit()
def update_counter():
# Уменьшаем значение интервала на единицу
global interval; interval -= 1
# Обновляем текст метки с добавлением счетчика в формате MM:SS
label.setText(f"{quote[0]}\n\n{time.strftime('%M:%S', time.gmtime(interval))}")
# Создаем таймер PyQt для обновления анекдотов
timer = QTimer()
# Создаем таймер PyQt для обновления счетчика
counter_timer = QTimer()
# Устанавливаем интервал таймера счетчика в 100 миллисекунд
counter_timer.setInterval(100)
# Устанавливаем интервал таймера в 30 минут (1800000 миллисекунд)
timer.setInterval(1800000)
# Связываем таймер с функцией обновления счетчика
counter_timer.timeout.connect(update_counter)
# Запускаем таймер
counter_timer.start()
# Связываем таймер с функцией обновления анекдотов
timer.timeout.connect(update_quote)
# Запускаем таймер
timer.start()
# Обновляем анекдоты в первый раз
update_quote()
# Запускаем приложение PyQt
app.exec_()