Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from utils import *
- from error_null import *
- from days5 import *
- import sys
- from PyQt5 import QtCore, QtGui, QtWidgets
- from PyQt5.QtWidgets import QWidget, QApplication
- class Example(QWidget):
- def __init__(self):
- super().__init__()
- self.day5 = list()
- self.initUI()
- def update_info(self, weather_dict):
- # TODO: listWidget_4 вместо temp_cell
- self.temp_cell.update_text(weather_dict['Temperature']['Metric']['Value'])
- # TODO: аналогично
- self.temp_cell_feel.update_text(weather_dict['RealFeelTemperature']['Metric']['Value'])
- # TODO: аналогично
- self.pressure_cell.update_text(weather_dict['Pressure']['Metric']['Value'])
- def initUI(self):
- self.setObjectName("self")
- self.resize(523, 325)
- self.label = QtWidgets.QLabel(self)
- self.label.setGeometry(QtCore.QRect(210, 10, 81, 16))
- self.label.setObjectName("label")
- # ввод
- self.textEdit = QtWidgets.QTextEdit(self)
- self.textEdit.setGeometry(QtCore.QRect(200, 40, 104, 41))
- self.textEdit.setObjectName("textEdit")
- # чтобы ровненько было
- self.gridLayoutWidget = QtWidgets.QWidget(self)
- self.gridLayoutWidget.setGeometry(QtCore.QRect(20, 110, 142, 191))
- self.gridLayoutWidget.setObjectName("gridLayoutWidget")
- self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
- self.gridLayout.setContentsMargins(0, 0, 0, 0)
- self.gridLayout.setObjectName("gridLayout")
- # 1
- # TODO: надо законнектить функцию self.show_current
- self.pushButton = QtWidgets.QPushButton(self.gridLayoutWidget)
- self.pushButton.setObjectName("pushButton")
- self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1)
- self.pushButton.clicked.connect(self.show_current)
- # 2
- # TODO: надо законнектить функцию self.show_1day
- self.pushButton_2 = QtWidgets.QPushButton(self.gridLayoutWidget)
- self.pushButton_2.setObjectName("pushButton_2")
- self.gridLayout.addWidget(self.pushButton_2, 3, 0, 1, 1)
- # 3
- # TODO: надо законнектить функцию self.show_2day
- self.pushButton_3 = QtWidgets.QPushButton(self.gridLayoutWidget)
- self.pushButton_3.setObjectName("pushButton_3")
- self.gridLayout.addWidget(self.pushButton_3, 1, 0, 1, 1)
- # 4
- # TODO: надо законнектить функцию self.show_3day
- self.pushButton_4 = QtWidgets.QPushButton(self.gridLayoutWidget)
- self.pushButton_4.setObjectName("pushButton_4")
- self.gridLayout.addWidget(self.pushButton_4, 2, 0, 1, 1)
- # 5
- # TODO: надо законнектить функцию self.show_4day
- self.pushButton_5 = QtWidgets.QPushButton(self.gridLayoutWidget)
- self.pushButton_5.setObjectName("pushButton_5")
- self.gridLayout.addWidget(self.pushButton_5, 4, 0, 1, 1)
- # 6
- # TODO: надо законнектить функцию self.show_5day
- self.pushButton_6 = QtWidgets.QPushButton(self.gridLayoutWidget)
- self.pushButton_6.setObjectName("pushButton_6")
- self.gridLayout.addWidget(self.pushButton_6, 5, 0, 1, 1)
- self.listWidget = QtWidgets.QListWidget(self)
- self.listWidget.setGeometry(QtCore.QRect(300, 250, 201, 31))
- self.listWidget.setObjectName("listWidget")
- self.label_2 = QtWidgets.QLabel(self)
- self.label_2.setGeometry(QtCore.QRect(340, 90, 81, 20))
- self.label_2.setObjectName("label_2")
- self.label_3 = QtWidgets.QLabel(self)
- self.label_3.setGeometry(QtCore.QRect(220, 150, 71, 16))
- self.label_3.setObjectName("label_3")
- self.label_4 = QtWidgets.QLabel(self)
- self.label_4.setGeometry(QtCore.QRect(210, 200, 81, 20))
- self.label_4.setObjectName("label_4")
- self.listWidget_3 = QtWidgets.QListWidget(self)
- self.listWidget_3.setGeometry(QtCore.QRect(300, 200, 201, 31))
- self.listWidget_3.setObjectName("listWidget_3")
- self.label_5 = QtWidgets.QLabel(self)
- self.label_5.setGeometry(QtCore.QRect(230, 260, 51, 16))
- self.label_5.setObjectName("label_5")
- self.listWidget_4 = QtWidgets.QListWidget(self)
- self.listWidget_4.setGeometry(QtCore.QRect(300, 140, 201, 31))
- self.listWidget_4.setObjectName("listWidget_4")
- self.retranslateUi()
- QtCore.QMetaObject.connectSlotsByName(self)
- self.show()
- def retranslateUi(self):
- _translate = QtCore.QCoreApplication.translate
- self.setWindowTitle(_translate("self", "Прогноз погоды"))
- self.label.setText(_translate("self", "Введите город"))
- self.pushButton.setText(_translate("self", "Погода за сегодня"))
- self.pushButton_2.setText(_translate("self", "Погда через три дня"))
- self.pushButton_3.setText(_translate("self", "Погода завтра"))
- self.pushButton_4.setText(_translate("self", "Погода послезавтра"))
- self.pushButton_5.setText(_translate("self", "Погода через четыре дня"))
- self.pushButton_6.setText(_translate("self", "Погода через пять дней"))
- self.label_2.setText(_translate("self", "Погода за ..."))
- self.label_3.setText(_translate("self", "Температура"))
- self.label_4.setText(_translate("self", "Ощущается как"))
- self.label_5.setText(_translate("self", "Давление"))
- # TODO: написать функции для каждой кнопки
- def show_current(self):
- item = QtWidgets.QListWidgetItem()
- city = self.lineEdit.text()
- if city == '':
- self.error_form = Err()
- self.error_form.show()
- else:
- try:
- code = get_city_code(city, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
- test = get_current_weather(code, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
- item.setText(f'Weather now:'
- f' {test["WeatherText"]}, Reel feel temperature: '
- f'{test["RealFeelTemperature"]["Metric"]["Value"]}')
- except:
- item.setText('Invalid City!')
- self.textEdit.addItem(item)
- self.lineEdit.clear()
- # code = get_city_code('Samara', 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
- # test = get_current_weather(code, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
- # test2 = get_5day_forecast(code, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
- # for i in test:
- # print(i)
- # pyuic5 ui_file.ui -o ui_file.py
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement