Python - Программирование с графическим интерфейсом (Tkinter)
Python предоставляет различные варианты разработки графических пользовательских интерфейсов (GUI). Наиболее важные из них перечислены ниже.
Tkinter- Tkinter - это интерфейс Python для набора инструментов Tk GUI, поставляемого с Python. Мы бы рассмотрели этот вариант в этой главе.
wxPython - Это интерфейс Python с открытым исходным кодом для wxWindows. http://wxpython.org.
JPython - JPython - это порт Python для Java, который предоставляет скриптам Python беспрепятственный доступ к библиотекам классов Java на локальном компьютере. http://www.jython.org.
Есть много других доступных интерфейсов, которые вы можете найти в сети.
Программирование на Tkinter
Tkinter - это стандартная библиотека графического интерфейса для Python. Python в сочетании с Tkinter обеспечивает быстрый и простой способ создания приложений с графическим интерфейсом. Tkinter предоставляет мощный объектно-ориентированный интерфейс для набора инструментов Tk GUI.
Создание приложения с графическим интерфейсом пользователя с использованием Tkinter - простая задача. Все, что вам нужно сделать, это выполнить следующие шаги -
Импортируйте модуль Tkinter .
Создайте главное окно приложения GUI.
Добавьте один или несколько из вышеупомянутых виджетов в приложение с графическим интерфейсом.
Войдите в основной цикл событий, чтобы принимать меры против каждого события, инициированного пользователем.
пример
#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Это создаст следующее окно -
Виджеты Tkinter
Tkinter предоставляет различные элементы управления, такие как кнопки, метки и текстовые поля, используемые в приложении с графическим интерфейсом. Эти элементы управления обычно называются виджетами.
В настоящее время в Tkinter есть 15 типов виджетов. Мы представляем эти виджеты, а также краткое описание в следующей таблице -
Sr.No. | Оператор и описание |
---|---|
1 | Кнопка Виджет Button используется для отображения кнопок в вашем приложении. |
2 | Холст Виджет Canvas используется для рисования фигур, таких как линии, овалы, многоугольники и прямоугольники, в вашем приложении. |
3 | Checkbutton Виджет Checkbutton используется для отображения ряда параметров в виде флажков. Пользователь может выбрать одновременно несколько вариантов. |
4 | Вход Виджет Entry используется для отображения однострочного текстового поля для приема значений от пользователя. |
5 | Рамка Виджет «Рамка» используется как виджет-контейнер для организации других виджетов. |
6 | метка Виджет Label используется для обеспечения однострочного заголовка для других виджетов. Он также может содержать изображения. |
7 | Список Виджет Listbox используется для предоставления пользователю списка опций. |
8 | Menubutton Виджет Menubutton используется для отображения меню в вашем приложении. |
9 | Меню Виджет «Меню» используется для предоставления пользователю различных команд. Эти команды содержатся внутри Menubutton. |
10 | Сообщение Виджет «Сообщение» используется для отображения многострочных текстовых полей для приема значений от пользователя. |
11 | Переключатель Виджет Radiobutton используется для отображения ряда параметров в виде переключателей. Пользователь может выбрать только один вариант за раз. |
12 | Шкала Виджет «Масштаб» используется для предоставления виджета ползунка. |
13 | Полоса прокрутки Виджет «Полоса прокрутки» используется для добавления возможности прокрутки к различным виджетам, таким как списки. |
14 | Текст Виджет Текст используется для отображения текста в несколько строк. |
15 | Toplevel The Toplevel widget is used to provide a separate window container. |
16 | Spinbox The Spinbox widget is a variant of the standard Tkinter Entry widget, which can be used to select from a fixed number of values. |
17 | PanedWindow A PanedWindow is a container widget that may contain any number of panes, arranged horizontally or vertically. |
18 | LabelFrame A labelframe is a simple container widget. Its primary purpose is to act as a spacer or container for complex window layouts. |
19 | tkMessageBox This module is used to display message boxes in your applications. |
Let us study these widgets in detail −
Standard attributes
Let us take a look at how some of their common attributes.such as sizes, colors and fonts are specified.
Dimensions
Colors
Fonts
Anchors
Relief styles
Bitmaps
Cursors
Let us study them briefly −
Geometry Management
All Tkinter widgets have access to specific geometry management methods, which have the purpose of organizing widgets throughout the parent widget area. Tkinter exposes the following geometry manager classes: pack, grid, and place.
The pack() Method − This geometry manager organizes widgets in blocks before placing them in the parent widget.
The grid() Method − This geometry manager organizes widgets in a table-like structure in the parent widget.
The place() Method − This geometry manager organizes widgets by placing them in a specific position in the parent widget.
Let us study the geometry management methods briefly −