Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. from utils import *
  2. from error_null import *
  3. from days5 import *
  4. import sys
  5. from PyQt5 import QtCore, QtGui, QtWidgets
  6. from PyQt5.QtWidgets import QWidget, QApplication
  7.  
  8.  
  9. class Example(QWidget):
  10.  
  11. def __init__(self):
  12. super().__init__()
  13. self.day5 = list()
  14.  
  15. self.initUI()
  16.  
  17. def update_info(self, weather_dict):
  18. # TODO: listWidget_4 вместо temp_cell
  19. self.temp_cell.update_text(weather_dict['Temperature']['Metric']['Value'])
  20. # TODO: аналогично
  21. self.temp_cell_feel.update_text(weather_dict['RealFeelTemperature']['Metric']['Value'])
  22. # TODO: аналогично
  23. self.pressure_cell.update_text(weather_dict['Pressure']['Metric']['Value'])
  24.  
  25. def initUI(self):
  26. self.setObjectName("self")
  27. self.resize(523, 325)
  28. self.label = QtWidgets.QLabel(self)
  29. self.label.setGeometry(QtCore.QRect(210, 10, 81, 16))
  30. self.label.setObjectName("label")
  31. # ввод
  32. self.textEdit = QtWidgets.QTextEdit(self)
  33. self.textEdit.setGeometry(QtCore.QRect(200, 40, 104, 41))
  34. self.textEdit.setObjectName("textEdit")
  35. # чтобы ровненько было
  36. self.gridLayoutWidget = QtWidgets.QWidget(self)
  37. self.gridLayoutWidget.setGeometry(QtCore.QRect(20, 110, 142, 191))
  38. self.gridLayoutWidget.setObjectName("gridLayoutWidget")
  39. self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
  40. self.gridLayout.setContentsMargins(0, 0, 0, 0)
  41. self.gridLayout.setObjectName("gridLayout")
  42. # 1
  43. # TODO: надо законнектить функцию self.show_current
  44. self.pushButton = QtWidgets.QPushButton(self.gridLayoutWidget)
  45. self.pushButton.setObjectName("pushButton")
  46. self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1)
  47. self.pushButton.clicked.connect(self.show_current)
  48. # 2
  49. # TODO: надо законнектить функцию self.show_1day
  50. self.pushButton_2 = QtWidgets.QPushButton(self.gridLayoutWidget)
  51. self.pushButton_2.setObjectName("pushButton_2")
  52. self.gridLayout.addWidget(self.pushButton_2, 3, 0, 1, 1)
  53. # 3
  54. # TODO: надо законнектить функцию self.show_2day
  55. self.pushButton_3 = QtWidgets.QPushButton(self.gridLayoutWidget)
  56. self.pushButton_3.setObjectName("pushButton_3")
  57. self.gridLayout.addWidget(self.pushButton_3, 1, 0, 1, 1)
  58. # 4
  59. # TODO: надо законнектить функцию self.show_3day
  60. self.pushButton_4 = QtWidgets.QPushButton(self.gridLayoutWidget)
  61. self.pushButton_4.setObjectName("pushButton_4")
  62. self.gridLayout.addWidget(self.pushButton_4, 2, 0, 1, 1)
  63. # 5
  64. # TODO: надо законнектить функцию self.show_4day
  65. self.pushButton_5 = QtWidgets.QPushButton(self.gridLayoutWidget)
  66. self.pushButton_5.setObjectName("pushButton_5")
  67. self.gridLayout.addWidget(self.pushButton_5, 4, 0, 1, 1)
  68. # 6
  69. # TODO: надо законнектить функцию self.show_5day
  70. self.pushButton_6 = QtWidgets.QPushButton(self.gridLayoutWidget)
  71. self.pushButton_6.setObjectName("pushButton_6")
  72. self.gridLayout.addWidget(self.pushButton_6, 5, 0, 1, 1)
  73. self.listWidget = QtWidgets.QListWidget(self)
  74. self.listWidget.setGeometry(QtCore.QRect(300, 250, 201, 31))
  75. self.listWidget.setObjectName("listWidget")
  76. self.label_2 = QtWidgets.QLabel(self)
  77. self.label_2.setGeometry(QtCore.QRect(340, 90, 81, 20))
  78. self.label_2.setObjectName("label_2")
  79. self.label_3 = QtWidgets.QLabel(self)
  80. self.label_3.setGeometry(QtCore.QRect(220, 150, 71, 16))
  81. self.label_3.setObjectName("label_3")
  82. self.label_4 = QtWidgets.QLabel(self)
  83. self.label_4.setGeometry(QtCore.QRect(210, 200, 81, 20))
  84. self.label_4.setObjectName("label_4")
  85. self.listWidget_3 = QtWidgets.QListWidget(self)
  86. self.listWidget_3.setGeometry(QtCore.QRect(300, 200, 201, 31))
  87. self.listWidget_3.setObjectName("listWidget_3")
  88. self.label_5 = QtWidgets.QLabel(self)
  89. self.label_5.setGeometry(QtCore.QRect(230, 260, 51, 16))
  90. self.label_5.setObjectName("label_5")
  91. self.listWidget_4 = QtWidgets.QListWidget(self)
  92. self.listWidget_4.setGeometry(QtCore.QRect(300, 140, 201, 31))
  93. self.listWidget_4.setObjectName("listWidget_4")
  94.  
  95. self.retranslateUi()
  96. QtCore.QMetaObject.connectSlotsByName(self)
  97. self.show()
  98.  
  99. def retranslateUi(self):
  100. _translate = QtCore.QCoreApplication.translate
  101. self.setWindowTitle(_translate("self", "Прогноз погоды"))
  102. self.label.setText(_translate("self", "Введите город"))
  103. self.pushButton.setText(_translate("self", "Погода за сегодня"))
  104. self.pushButton_2.setText(_translate("self", "Погда через три дня"))
  105. self.pushButton_3.setText(_translate("self", "Погода завтра"))
  106. self.pushButton_4.setText(_translate("self", "Погода послезавтра"))
  107. self.pushButton_5.setText(_translate("self", "Погода через четыре дня"))
  108. self.pushButton_6.setText(_translate("self", "Погода через пять дней"))
  109. self.label_2.setText(_translate("self", "Погода за ..."))
  110. self.label_3.setText(_translate("self", "Температура"))
  111. self.label_4.setText(_translate("self", "Ощущается как"))
  112. self.label_5.setText(_translate("self", "Давление"))
  113.  
  114. # TODO: написать функции для каждой кнопки
  115. def show_current(self):
  116. item = QtWidgets.QListWidgetItem()
  117. city = self.lineEdit.text()
  118. if city == '':
  119. self.error_form = Err()
  120. self.error_form.show()
  121. else:
  122. try:
  123. code = get_city_code(city, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
  124. test = get_current_weather(code, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
  125. item.setText(f'Weather now:'
  126. f' {test["WeatherText"]}, Reel feel temperature: '
  127. f'{test["RealFeelTemperature"]["Metric"]["Value"]}')
  128. except:
  129. item.setText('Invalid City!')
  130. self.textEdit.addItem(item)
  131. self.lineEdit.clear()
  132.  
  133.  
  134. # code = get_city_code('Samara', 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
  135. # test = get_current_weather(code, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
  136. # test2 = get_5day_forecast(code, 'xbGhMFf1GpvDzAGd1bscOXKEteI1CcJL')
  137. # for i in test:
  138. # print(i)
  139. # pyuic5 ui_file.ui -o ui_file.py
  140.  
  141.  
  142. if __name__ == '__main__':
  143.  
  144. app = QApplication(sys.argv)
  145. ex = Example()
  146. sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement