Здравствуйте. Написал код, для отслеживания погоды:
import sys, pyowm
from PySide2 import QtCore, QtGui,QtWidgets
from weather import Ui_Dialog
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
def get_weather_city():
owm = pyowm.OWM('8e5e292b670523427419a0ebac733e46', language = "ru")
city = ui.lineEdit.text()
observation = owm.weather_at_place(city)
w = observation.get_weather()
detail = w.get_detailed_status()
temp = w.get_temperature('celsius')["temp"]
wind = w.get_wind()["speed"]
humidity = w.get_humidity()
ui.label_2.setText(f'Состояние погоды: {detail}')
ui.label_3.setText(f'Температура: {temp}')
ui.label_4.setText(f'Скорость ветра: {wind}м/с')
ui.label_5.setText(f'Влажность воздуха: {humidity}%')
ui.pushButton.clicked.connect(get_weather_city)
sys.exit(app.exec_())
Хочу сделать это приложение для телефонов. Насколько я понимаю, это можно сделать только с помощью Kivy.
Написал вот это:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
class WeatherApp(App):
def build(self):
al = AnchorLayout()
bl = BoxLayout(orientation = 'vertical', size_hint =[.5, .5])
bl.add_widget(TextInput())
bl.add_widget(Button(text = 'ПОЛУЧИТЬ ДАННЫЕ'))
al.add_widget(bl)
return al
if __name__ == "__main__":
WeatherApp().run()
Но я не понимаю как при нажатии на кнопку вывести вот эту часть:
owm = pyowm.OWM('8e5e292b670523427419a0ebac733e46', language = "ru")
city = ui.lineEdit.text()
observation = owm.weather_at_place(city)
w = observation.get_weather()
detail = w.get_detailed_status()
temp = w.get_temperature('celsius')["temp"]
wind = w.get_wind()["speed"]
humidity = w.get_humidity()
ui.label_2.setText(f'Состояние погоды: {detail}')
ui.label_3.setText(f'Температура: {temp}')
ui.label_4.setText(f'Скорость ветра: {wind}м/с')
ui.label_5.setText(f'Влажность воздуха: {humidity}%')
Буду благодарен за любую помощь.
import sys, pyowm
from PySide2 import QtCore, QtGui,QtWidgets
from weather import Ui_Dialog
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
def get_weather_city():
owm = pyowm.OWM('8e5e292b670523427419a0ebac733e46', language = "ru")
city = ui.lineEdit.text()
observation = owm.weather_at_place(city)
w = observation.get_weather()
detail = w.get_detailed_status()
temp = w.get_temperature('celsius')["temp"]
wind = w.get_wind()["speed"]
humidity = w.get_humidity()
ui.label_2.setText(f'Состояние погоды: {detail}')
ui.label_3.setText(f'Температура: {temp}')
ui.label_4.setText(f'Скорость ветра: {wind}м/с')
ui.label_5.setText(f'Влажность воздуха: {humidity}%')
ui.pushButton.clicked.connect(get_weather_city)
sys.exit(app.exec_())
Хочу сделать это приложение для телефонов. Насколько я понимаю, это можно сделать только с помощью Kivy.
Написал вот это:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
class WeatherApp(App):
def build(self):
al = AnchorLayout()
bl = BoxLayout(orientation = 'vertical', size_hint =[.5, .5])
bl.add_widget(TextInput())
bl.add_widget(Button(text = 'ПОЛУЧИТЬ ДАННЫЕ'))
al.add_widget(bl)
return al
if __name__ == "__main__":
WeatherApp().run()
Но я не понимаю как при нажатии на кнопку вывести вот эту часть:
owm = pyowm.OWM('8e5e292b670523427419a0ebac733e46', language = "ru")
city = ui.lineEdit.text()
observation = owm.weather_at_place(city)
w = observation.get_weather()
detail = w.get_detailed_status()
temp = w.get_temperature('celsius')["temp"]
wind = w.get_wind()["speed"]
humidity = w.get_humidity()
ui.label_2.setText(f'Состояние погоды: {detail}')
ui.label_3.setText(f'Температура: {temp}')
ui.label_4.setText(f'Скорость ветра: {wind}м/с')
ui.label_5.setText(f'Влажность воздуха: {humidity}%')
Буду благодарен за любую помощь.