У меня есть приложение GUI, которое получает через API некоторую случайную информацию (погоду, текущее время, курсы валют, ...) Поскольку мой файл app.py становится грязным, я хочу переместить отдельные функции в разные файлы ( weather.py , currenttime.py , exchange_rates.py ), чтобы сохранить мои app.py clean.
Вот пример кода, содержащий только часы:
import json
import requests
from PyQt5 import QtCore, QtGui, QtWidgets, uic
import sys
import time
from time import localtime, strftime, gmtime
class bulletindesktop(QtWidgets.QMainWindow):
def __init__(self):
super(bulletindesktop, self).__init__()
uic.loadUi("bulletindesktop.ui", self) # loads the UI
# Initializes the Clock(updates itself every sec)
clock = QtCore.QTimer(self, interval=1000, timeout=self.showTime)
clock.start()
self.showTime()
@QtCore.pyqtSlot()
def showTime(self):
# Clock
time = QtCore.QTime.currentTime() # gets current time
timeText = time.toString("HH mm" if time.second() %
2 == 0 else "HH:mm") # changes time to string,
self.labelTime.setText(timeText)
# Date
self.labelDate.setText(strftime("%d.%m.%Y", localtime()))
# Day
self.labelDay.setText(strftime("%A", localtime()))
app = QtWidgets.QApplication([]) # initializes pyqt
win = bulletindesktop() # adds Example class to "win"
win.show() # shows window
sys.exit(app.exec())
Здесь я хочу переместить функцию showTime
в файл с именем currenttime.py в папке modules . Тем не менее, я думаю, что пытался всеми возможными способами до сих пор.
Как я могу переместить функцию в другой файл и вызвать его оттуда?
Полный код можно найти здесь: https://github.com/netspherecyborg/BulletinDesktop