Как создать интерфейс программы на питон

Python предоставляет различные варианты для разработки графических пользовательских интерфейсов (GUI). Наиболее важные функции перечислены ниже.

  • Tkinter – Tkinter – это интерфейс Python для инструментария Tk GUI, поставляемый с Python. Мы бы посмотрели этот вариант в этой главе.
  • wxPython – это интерфейс Python с открытым исходным кодом для инструментария GUI wxWidgets. Вы можете найти полное руководство по WxPython здесь .
  • PyQt – это также интерфейс Python для популярной кроссплатформенной библиотеки Qt GUI. У TutorialsPoint есть очень хорошее руководство по PyQt здесь .
  • JPython – JPython – это порт Python для Java, который предоставляет сценариям Python беспрепятственный доступ к библиотекам классов Java на локальном компьютере http://www.jython.org .

Tkinter – Tkinter – это интерфейс Python для инструментария Tk GUI, поставляемый с Python. Мы бы посмотрели этот вариант в этой главе.

wxPython – это интерфейс Python с открытым исходным кодом для инструментария GUI wxWidgets. Вы можете найти полное руководство по WxPython здесь .

Изучение TKinter за 8 минут / Разработка GUI программы на Python

PyQt – это также интерфейс Python для популярной кроссплатформенной библиотеки Qt GUI. У TutorialsPoint есть очень хорошее руководство по PyQt здесь .

JPython – JPython – это порт Python для Java, который предоставляет сценариям Python беспрепятственный доступ к библиотекам классов Java на локальном компьютере http://www.jython.org .

Есть много других доступных интерфейсов, которые вы можете найти в сети.

Tkinter Программирование

Tkinter – это стандартная библиотека GUI для Python. Python в сочетании с Tkinter обеспечивает быстрый и простой способ создания приложений с графическим интерфейсом. Tkinter предоставляет мощный объектно-ориентированный интерфейс для инструментария Tk GUI.

Создание приложения с графическим интерфейсом с помощью Tkinter – простая задача. Все, что вам нужно сделать, это выполнить следующие шаги –

  • Импортируйте модуль Tkinter .
  • Создайте главное окно приложения с графическим интерфейсом.
  • Добавьте один или несколько вышеупомянутых виджетов в приложение с графическим интерфейсом.
  • Введите основной цикл событий, чтобы принять меры против каждого события, инициированного пользователем.

Импортируйте модуль Tkinter .

Создайте главное окно приложения с графическим интерфейсом.

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

Введите основной цикл событий, чтобы принять меры против каждого события, инициированного пользователем.

пример

#!/usr/bin/python3 import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3 top = tkinter.Tk() # Code to add widgets will go here. top.mainloop()

Это создаст следующее окно –

TK Window

Ткинтер Виджеты

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

В настоящее время в Tkinter существует 15 типов виджетов. Мы представляем эти виджеты, а также краткое описание в следующей таблице –

Виджет «Кнопка» используется для отображения кнопок в вашем приложении.

Виджет Canvas используется для рисования фигур, таких как линии, овалы, многоугольники и прямоугольники, в вашем приложении.

Виджет Checkbutton используется для отображения ряда опций в виде флажков. Пользователь может выбрать несколько вариантов одновременно.

Виджет «Запись» используется для отображения однострочного текстового поля для принятия значений от пользователя.

Виджет Frame используется как контейнерный виджет для организации других виджетов.

Виджет «Метка» используется для предоставления надписи в одну строку для других виджетов. Он также может содержать изображения.

Читайте также:
Как сделать звук на видео громче программа

Виджет «Список» используется для предоставления пользователю списка параметров.

Виджет Menubutton используется для отображения меню в вашем приложении.

Виджет Меню используется для предоставления различных команд пользователю. Эти команды содержатся внутри Menubutton.

Виджет Сообщение используется для отображения многострочных текстовых полей для принятия значений от пользователя.

Виджет Radiobutton используется для отображения ряда параметров в качестве переключателей. Пользователь может выбрать только один вариант за один раз.

Виджет Масштаб используется для предоставления виджета слайдера.

Виджет Полоса прокрутки используется для добавления возможности прокрутки к различным виджетам, таким как списки.

Виджет Текст используется для отображения текста в несколько строк.

Виджет Toplevel используется для предоставления отдельного окна-контейнера.

Виджет Spinbox – это вариант стандартного виджета Tkinter Entry, который можно использовать для выбора из фиксированного числа значений.

PanedWindow – это контейнерный виджет, который может содержать любое количество панелей, расположенных горизонтально или вертикально.

Метка – это простой контейнерный виджет. Его основная цель – выступать в качестве разделителя или контейнера для сложных оконных схем.

Этот модуль используется для отображения окон сообщений в ваших приложениях.

Виджет «Кнопка» используется для отображения кнопок в вашем приложении.

Виджет Canvas используется для рисования фигур, таких как линии, овалы, многоугольники и прямоугольники, в вашем приложении.

Виджет Checkbutton используется для отображения ряда опций в виде флажков. Пользователь может выбрать несколько вариантов одновременно.

Виджет «Запись» используется для отображения однострочного текстового поля для принятия значений от пользователя.

Виджет Frame используется как контейнерный виджет для организации других виджетов.

Виджет «Метка» используется для предоставления надписи в одну строку для других виджетов. Он также может содержать изображения.

Виджет «Список» используется для предоставления пользователю списка параметров.

Виджет Menubutton используется для отображения меню в вашем приложении.

Виджет Меню используется для предоставления различных команд пользователю. Эти команды содержатся внутри Menubutton.

Виджет Сообщение используется для отображения многострочных текстовых полей для принятия значений от пользователя.

Виджет Radiobutton используется для отображения ряда параметров в качестве переключателей. Пользователь может выбрать только один вариант за один раз.

Виджет Масштаб используется для предоставления виджета слайдера.

Виджет Полоса прокрутки используется для добавления возможности прокрутки к различным виджетам, таким как списки.

Виджет Текст используется для отображения текста в несколько строк.

Виджет Toplevel используется для предоставления отдельного окна-контейнера.

Виджет Spinbox – это вариант стандартного виджета Tkinter Entry, который можно использовать для выбора из фиксированного числа значений.

PanedWindow – это контейнерный виджет, который может содержать любое количество панелей, расположенных горизонтально или вертикально.

Метка – это простой контейнерный виджет. Его основная цель – выступать в качестве разделителя или контейнера для сложных оконных схем.

Этот модуль используется для отображения окон сообщений в ваших приложениях.

Стандартные атрибуты

Давайте посмотрим, как определяются некоторые из их общих атрибутов, таких как размеры, цвета и шрифты.

Управление геометрией

Все виджеты Tkinter имеют доступ к определенным методам управления геометрией, целью которых является организация виджетов по всей области родительских виджетов. Tkinter предоставляет следующие классы менеджера геометрии: pack, grid и place.

Метод pack () – этот менеджер геометрии организует виджеты в блоки перед размещением их в родительском виджете.

Метод grid () – этот менеджер геометрии организует виджеты в виде таблицы в родительском виджете.

Метод place () – этот менеджер геометрии организует виджеты, размещая их в определенной позиции в родительском виджете.

Читайте также:
Как рассчитать заработную плату в программе 1с

Источник: coderlessons.com

3 библиотеки для создания графического интерфейса пользователя (GUI)

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

В Python начать GUI программирование просто, но первый шаг – это выбор пакета для создания GUI. К счастью, у программистов, которые хотят создать простой способ взаимодействия пользователей с их программами, есть много вариантов.

Но прежде всего задумайтесь: действительно ли нужно, чтобы ваше приложение имело традиционный графический интерфейс пользователя вообще? Для некоторых программ ответ очевиден. Если ваше приложение по своей природе графическое или будет запускаться локально на одной машине, то да, вам, вероятно, следует создать десктопный интерфейс. Часто это становится очевидным исходя из того, что вы проектируете.

Но для более общих программ, не сбрасывайте со счетов командную строку или веб-интерфейс.
Командная строка обладает многими преимуществами: скоростью, удаленным доступом, возможностью повторного использования, возможностью записи сценариев и контролем, что может быть более важным для пользователей вашего приложения, чем графический интерфейс, и существует множество библиотек, таких как, например, Click, Cement и Cliff, которые помогают создать великолепные программы командной строки.

То же самое с веб-интерфейсом. Даже для программы, предназначенной для локального запуска, это может быть решением – особенно, если есть вероятность, что пользователи могут разместить ваше приложение удаленно, а такие проекты, как Django, Flask или Pyramid, делают это просто.
Можно даже использовать библиотеку наподобие pywebview, чтобы обернуть веб-приложение в более естественное окно GUI.

Или еще можно использовать фреймворк Pyforms для создания единообразного представления в Интернете, командной строке и на рабочем столе, и это все на базе одного кода.

Все еще уверены, что хотите построить графический интерфейс? Отлично, вот три фантастических библиотеки с открытым исходным кодом.

PyQt

PyQt реализует популярную библиотеку Qt. Вы, возможно, уже знакомы с Qt – вы могли работать с Qt на другом языке. PyQt позволяет разрабатывать приложения на Python, и в то же время пользоваться инструментами и знаниями большого сообщества Qt.

PyQt имеет два вида лицензии – коммерческую и лицензию GPL, в отличие от самого проекта Qt.

Tkinter

Если бы был один пакет, который можно было бы назвать «стандартным» инструментарием GUI для Python, это был бы Tkinter. Tkinter – это оболочка вокруг Tcl / Tk, впервые появившегося в начале 90-х годов. Преимущество Tkinter – огромное количество ресурсов, включая книги и примеры кода, а также большое сообщество пользователей, которые могут помочь, если у вас есть вопросы. Примеры просты и понятны для новичка.

Tkinter доступен под лицензией Python, поверх лицензии BSD Tcl / Tk.

WxPython

WxPython переносит кросс-платформенную графическую библиотеку wxWidgets с родного языка C ++ на Python. WxPython – это немного более современный подход, который выглядит более натуральным, в разных операционных системах, чем, например, Tkinter, потому что он не пытается создать свой собственный набор виджетов (хотя они могут быть тематически похожими на его исходные компоненты). Он тоже прост в освоении, и сообщество разработчиков на WxPython посоянно растет.

WxPython использует wxWindows Library License своего родительского проекта, который одобрен OSI.

Это, конечно, не все доступные варианты. Десятки других опций есть на странице «Программирование GUI на Python» на официальной вики-странице Python Software Foundation.

А если захочется что-нибудь сделать что-нибудь не похожее на традиционное рабочее окно – например видео игру, то для этого в Python тоже есть хорошие библиотеки – например, pygame и pyglet.

Читайте также:
Программа не отвечает Mac OS

Источник: pylab.ru

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

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

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 = # Отправляем запрос по определенному URL result = requests.get(url, params=params) # Получаем JSON ответ по этому URL weather = result.json() # Полученные данные добавляем в текстовую надпись для отображения пользователю info[‘text’] = f’: ‘ # Настройки главного окна # Указываем фоновый цвет root[‘bg’] = ‘#fafafa’ # Указываем название окна root.title(‘Погодное приложение’) # Указываем размеры окна root.geometry(‘300×250′) # Делаем невозможным менять размеры окна 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, а также создавать веб сайты на основе библиотеки Джанго.

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

Лучшие интерактивные сайты на HTML5

Лучшие интерактивные сайты на HTML5

Лучшие дизайны веб-сайтов по версии сообщества Awwwards

Лучшие дизайны веб-сайтов по версии сообщества Awwwards

10 языков для Android-разработчика

10 языков для Android-разработчика

Реальна ли наша вселенная?

Реальна ли наша вселенная?

Источник: itproger.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru