Scripteer
@Scripteer
Веб дизайнер, интересуюсь python, знаю html,css +-

Pyqt5 Программа которая должна показывать погоду?

Программа на pyqt5 дизайн сделал в qt designer, конвертирувал с ui to .py программа запускается но не выводит сколько градусов.Я УЖЕ ПРОБОВАЛ: заменить с city на place, но результата не дало, кажется буквенных ошибок нет, что делать, вот код.
import sys, pyowm
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon
from weather import Ui_MainWindow

#create app
app = QtWidgets.QApplication(sys.argv)

# init
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()

def get_weather_city():
	owm = pyowm.OWM('31dd6799e9426588099cc987780b7eb6')
	city = ui.lineEdit.text()

	observation = owm.weather_at_place(city)
	w = observation.get_weather()
	temperature = w.get_temperature ('celsius')['temp']

	ui.label.setText( f'Температура: {temperature}')

ui.pushButton.clicked.connect(get_weather_city)

sys.exit(app.exec_())

6002d4ff72b82001314798.png
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 1
delvin-fil
@delvin-fil
Crazy Linux-admin
Пример
from PyQt5 import QtWidgets, uic
import sys
from pyowm import OWM

class Ui(QtWidgets.QMainWindow):
    def __init__(self):
        super(Ui, self).__init__()
        uic.loadUi('weather.ui', self)
        city = "Ленинск-Кузнецкий"
        owm = OWM('31dd6799e9426588099cc987780b7eb6')
        mgr = owm.weather_manager()
        observation = mgr.weather_at_place(city)
        w = observation.weather
        temperature = w.temperature('celsius')['temp']
        self.label.setText( f'В городе: {city} сейчас температура: {temperature}')
        self.show()
app = QtWidgets.QApplication(sys.argv)
window = Ui()
app.exec_()

В weather.ui кроме Label ничего нет.
Как добавить LineEdit и BushButton, думаю, сами разберетесь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы