it Новости Python TKinter / Создание GUI приложения для отслеживания погоды
Python TKinter / Создание GUI приложения для отслеживания погоды

Python TKinter / Создание GUI приложения для отслеживания погоды

1 566
03 июля 2020 в 16:31

Python позволяет создавать большой спектр приложений. В статье мы познакомимся с библиотекой TKinter и на её основе создадим приложение с дизайном для отслеживания погоды.

Информация про TKinter

Tkinter в списке библиотек не является лидером, но он явно заслуживает внимания благодаря своей простоте и возможностям что он предоставляет.


Библиотека является «open source» проектом, а также, что приятно, так это то, что написана она была никем другим как Стином Лумхольтом и Гвидо ван Россумом, на секундочку автором языка Питон.

Библиотека позволяет создавать графический интерфейс для ваших программ. Программы на ней могут содержать текстовые поля, кнопки, надписи, картинки и многие другие элементы.


Библиотека является встроенной, поэтому её не требуется дополнительно устанавливать в проект.


Создание проекта

Ниже представлен код готового приложения на TKinter. Если нужно больше информации, то просмотрите обучающее видео в конце этой статьи.


Код программы:

# Импортируем все из библиотеки TKinter
from tkinter import *

# Эта библиотека нужна для работы с отправкой URL запросов
import requests

# Создаем главный объект (по сути окно приложения)
root = Tk()


# Эта функция срабатывает при нажатии на кнопку "Посмотреть погоду"
def get_weather():
	# Получаем данные от пользователя
	city = cityField.get()
 
	# данные о погоде будем брать с сайта openweathermap.org
	# ниже пропишите свой API ключ, который получите в кабинете пользователя на сайте openweathermap.org
	key = 'ВАШ КЛЮЧ'
	# ссылка, с которой мы получим все данные в формате JSON
	url = 'http://api.openweathermap.org/data/2.5/weather'
	# Дополнительные парамтеры (Ключ, город введенный пользователем и единицины измерения - metric означает Цельсий)
	params = {'APPID': key, 'q': city, 'units': 'metric'}
	# Отправляем запрос по определенному URL
	result = requests.get(url, params=params)
	# Получаем JSON ответ по этому URL
	weather = result.json()

	# Полученные данные добавляем в текстовую надпись для отображения пользователю
	info['text'] = f'{str(weather["name"])}: {weather["main"]["temp"]}'


# Настройки главного окна

# Указываем фоновый цвет
root['bg'] = '#fafafa'
# Указываем название окна
root.title('Погодное приложение')
# Указываем размеры окна
root.geometry('300x250')
# Делаем невозможным менять размеры окна
root.resizable(width=False, height=False)

# Создаем фрейм (область для размещения других объектов)
# Указываем к какому окну он принадлежит, какой у него фон и какая обводка
frame_top = Frame(root, bg='#ffb700', bd=5)
# Также указываем его расположение
frame_top.place(relx=0.15, rely=0.15, relwidth=0.7, relheight=0.25)

# Все то-же самое, но для второго фрейма
frame_bottom = Frame(root, bg='#ffb700', bd=5)
frame_bottom.place(relx=0.15, rely=0.55, relwidth=0.7, relheight=0.1)

# Создаем текстовое поле для получения данных от пользователя
cityField = Entry(frame_top, bg='white', font=30)
cityField.pack() # Размещение этого объекта, всегда нужно прописывать

# Создаем кнопку и при нажатии будет срабатывать метод "get_weather"
btn = Button(frame_top, text='Посмотреть погоду', command=get_weather)
btn.pack()

# Создаем текстовую надпись, в которую будет выводиться информация о погоде
info = Label(frame_bottom, text='Погодная информация', bg='#ffb700', font=40)
info.pack()

# Запускаем постоянный цикл, чтобы программа работала
root.mainloop()

Видео на эту тему

Детальный разбор TKinter вы можете просмотреть на видео ниже. В видеоуроке показан полный разбор библиотеки и её возможностей.


Видеоурок:




Дополнительный курс

На нашем сайте также есть углубленный курс по изучению языка Питон. В ходе огромной программы вы изучите не только язык Питон, но также научитесь создавать веб сайты за счёт веб технологий и фреймворка Джанго. За курс вы изучите массу нового и к концу программы будете уметь работать с языком Питон, создавать на нём полноценные ПК приложения на основе библиотеки Kivy, а также создавать веб сайты на основе библиотеки Джанго.


Больше интересных новостей

Комментарии для сайта Cackle