Найти - Пользователи
Полная версия: Нужна помощь с написанием кода в Python Kivy
Начало » Python для новичков » Нужна помощь с написанием кода в Python Kivy
1
jzilb8
Здравствуйте. Написал код, для отслеживания погоды:

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')
wind = w.get_wind()
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

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')
wind = w.get_wind()
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}%')

Буду благодарен за любую помощь.
AD0DE412
у вас не kivy а qt
упс невнимательность … вы переписываете qt на kivy
на сколько понимаю вам нужносвязать событие на кнопке с функцией. так?
эт делается как то так https://kivy.org/doc/stable/search.html?check_keywords=yes&area=default&q=utton
 from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen
Builder.load_string(
'''
<Test>
    BoxLayout:
        Button:
            text: "press"
            on_press: root.func1(root.var1)
''')
class Test(Screen):
    def __init__(self, **kw):
        super().__init__(**kw)
        self.var1 = 'print print print'
    def func1(self, xz):
        print(xz)
xxx =  Test
if __name__ == '__main__':
    class TestApp(App):
        def build(self):
            return xxx()
    TestApp().run()
зы ну там еще есть куча вариантов
ззы приведите свой код в порядок см. ниже
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB