Сделать кнопку обновления - PullRequest
0 голосов
/ 08 декабря 2018

Я хочу сделать кнопку обновления для актуализации информации из API, но не знаю как, код, который я хочу реализовать, приведен ниже:

def templ(widget):
    global templl,varil
    templl=Gtk.Window(title='Weather City Of London')
    varil=0
    print('ver')
    print(varil)
    while varil==0:
        requisicao3=requests.get('http://api.openweathermap.org/data/2.5/weather?q=City of London&appid=a5d84c2b0dbdc187d1521773a2bd3a22')
        tempo3=json.loads(requisicao3.text)
        reqt3=(tempo3['weather'][0]['main'])
        atl3=Gtk.Button("atualize")
        print(reqt3)
        vbox3=Gtk.VBox()
        templl.add(vbox3)
        templl.add(vbox3)
        lblreqt3=Gtk.Label(reqt3)
        vbox3.add(lblreqt3)
        vbox3.add(atl3)
        templl.set_default_size(640,480)
        templl.show_all()
        varil=0
        print("funcionalop")
londonb.connect("clicked",templ)

1 Ответ

0 голосов
/ 27 декабря 2018

Ниже приведена функция, которая при вызове выбирает погоду и помещает ее в ваше окно.Это связано с кнопкой.

# widget setup

def fetch_weather(widget):
    requisicao3 = requests.get('http://api.openweathermap.org/data/2.5/weather?q=City of London&appid=a5d84c2b0dbdc187d1521773a2bd3a22')
    tempo3 = json.loads(requisicao3.text)
    reqt3 = tempo3['weather'][0]['main']
    lblreqt3.set_label(reqt3)

if should_fetch_before_show:
    fetch_weather(atl3)

atl3.connect("clicked", fetch_weather)

# show the window
...