Графический пользовательский интерфейс в питон

29 января 2019 - Администратор

Пользовательский графический интерфейс с Tkinter в Python Питон.  

В этом уроке мы разберём создание простого графического пользовательского интерфейса (GUI) в Python Питон.
GUI расшифровывается как Graphical User Interface. На русском это означает пользовательский графический интерфейс. GUI используется во всех современных программах, он позволяет значительно облегчить работу с этими программами.
Для создания GUI в Python используется модуль tkinter. Импортируем этот модуль в нашу программу.
import tkinter as tk
Для создания GUI в Питоне нужно создать окно для него. Чтобы создать окно win, используйте команду tk.Tk()
win = tk.Tk()
В конце любой программы на tkinter в Питон нужно писать команду win.mainloop(), win это название окна для интерфейса. Команда mainloop() не позволяет окну закрываться сразу же при исполнении программы. Если не поместить эту команду в конец программы на Python, то окно для интерфейса закроется сразу же после запуска программы.
win.mainloop()
Изменим название окна для интерфейса Питон с помощью команды win.title(“”). В кавычках пишется текст, который будет отображаться в названии окна.
win.title("itrobo.ru")
Зададим окно размером 350×200 пикселей. Для этого в Python используется команда win.geometry(AxB), где A это ширина окна, B это высота окна. A и B пишутся в кавычках и разделяются символом “x”.
win.geometry("350x200")
Элементы в tkinter в Питоне создаются с помощью команды
элемент = tk.название_элемента(параметры_элемента)

Элемент метка label в Python

 Метка в Python создаётся с помощью команды
txt = tk.Label(win, text = "Комментарий")
txt это название элемента-метки, Label это название метки, win это окно, в котором отображается метка, text это параметр, отвечающий за текст в метке, “Комментарий” это текст который будет отображаться в метке. Все параметры приведены в этом уроке. (ссылка на урок с метками, все 3 урока надо выложить вместе)
Элементы в tkinter в Питоне располагаются по сетке. Чтобы поставить элемент в определённое место сетки, используйте команду txt.grid(row = m, column = n), где txt это название элемента, который нужно расположить, row и column это параметры, отвечающие за строку и столбец с элементом, m и n это номера строки и столбца.
txt.grid(row = 2, column = 1)

Пример программы на Python графический интерфейс метка

import tkinter as tk
win = tk.Tk()
win.title("itrobo.ru")
win.geometry("300x300")
res = tk.Label(win, text = "Привет")
res.grid(row = 3, column = 0)
win.mainloop()

метка Label в python

Для изменения надписи на метке используется команда имя метки.configure(text="новый текст метки")
Например 
res.configure(text="мою надпись поменяли")

Элемент Button  кнопка в Python

Чтобы задать кнопку в графическом интерфейсе python  необходимо использовать команду
название объекта кнопка = tk.Button(win, text = “надпись на кнопке”, сomand = имя функции при нажатии)
Например 
button=tk.Button(win, text = “нажми меня”, comand =onclick)
создаст нкнопку с именем button  надпись на кнопке Нажми меня, при нажатии будет вызываться процедура onclik
для вывода кнопки на экран мы используем разметку и команду
имя кнопки.grid(row = номер строки, column = номер столбца)
например 
button.grid(row = 1, column = 1)
Приведем пример программы графический интерфейс на Python с кнопкой и меткой, при нажатии на кнпоку название метки меняется на Меня нажали
import tkinter as tk
win = tk.Tk()
win.title("itrobo.ru")
win.geometry("300x300")
res = tk.Label(win, text = "-")
res.grid(row = 3, column = 0)
def onclick():
    res.configure(text = "меня нажали")
button = tk.Button(win, text = "нажми меня", command = onclick)
button.grid(row = 1, column = 1)
win.mainloop()

графический интерфейс python кнопка


 

Элемент текстовое поле в графическом интерфейсе python

Для задания тектового поля в графическом пользовательском интерфейсе Python используется команда
имя текстового поля=tk.Entry(имя окна)
например команда
text1=tk.Entry(win)
cоздаст объект текстовое поле с именем text1 в окне win
для отображения в окне интерфейса python используется команда
имя элемента.grid(row=номер строки, column=номер столбца)
Например 
text1.grid(row=1,column=1)
Чтобы получить данные из текстового поля в Python используется команда
имя поля.get()
Например 
znach=float(text1.get())
записывает в переменную znach числовое значение поля text1

Пример программы с графическим пользовательским интерфейсом в Python простейший калькулятор

Сделаем программу калькулятор на Python. В двух текстовых полях пользователь вводит два числа. При нажатии на кнопку в метке будет показываться сумма этих чисел.
Введём два текстовых поля и метку. Первое поле назовём num1, второе num2, метку назовём res. Зададим кнопку button. Поля для ввода текста задаются с помощью команды tk.Entry(win)
num1 = tk.Entry(win)
num1.grid(row = 0, column = 0)
num2 = tk.Entry(win)
num2.grid(row = 2, column = 0)
res = tk.Label(win, text = "-")
res.grid(row = 3, column = 0)

Зададим кнопку button с помощью команды
button = tk.Button(win, text = “Сумма”)
button это название кнопки, win это окно, где отображается кнопка, text = “Сумма” это параметр, определяющий текст на кнопке.
Если вы просто зададите кнопку, запустите программу на Питоне и нажмёте на кнопку, ничего не произойдёт. Чтобы задать действие по нажатию кнопки, нужно использовать параметр кнопки command. Разберём процедуру нахождения суммы и нажатия кнопки.
При нажатии на кнопку в Python мы должны получить значения двух чисел в текстовых полях, сложить эти числа и вывести сумму в метку. Создадим для этого отдельную процедуру summation(). Подробно о процедурах в Python
Чтобы получить числа из текстовых полей в Питоне, используем команду num1.get() Обратите внимание, что текстовые поля всегда возвращают данные в виде строк, поэтому переведём их числа, используя команду float()
one = float(num1.get())
two = float(num2.get())

Теперь создадим переменную result, в которой будет храниться сумма полученных чисел.
result = one + two
После того, как мы задали метку res с результатом в Питон, нужно изменить текст в ней с “-” на результат. Это можно сделать с помощью команды res.configure(text) и форматированного вывода.
res.configure(text = "= %s" % result)
После того, как мы создали процедуру для вывода чисел в Python, назначим нажатие кнопки на неё. Это можно сделать, присвоив параметр command созданной процедуре.
button = tk.Button(win, text = "Сумма", command = summation)
button.grid(row = 1, column = 1)

Полный код программы на python с графическим пользовательским интерфейсом простейший калькулятор.
import tkinter as tk
win = tk.Tk()
win.title("itrobo.ru")
win.geometry("400x400")
num1 = tk.Entry(win)
num1.grid(row = 0, column = 0)
num2 = tk.Entry(win)
num2.grid(row = 2, column = 0)
res = tk.Label(win, text = "-")
res.grid(row = 3, column = 0)
def summation():
    one = float(num1.get())
    two = float(num2.get())
    result = one + two
    res.configure(text = "= %s" % result)
button = tk.Button(win, text = "Сумма", command = summation)
button.grid(row = 1, column = 1)
win.mainloop()

калькулятор на python

Вернуться к содержанию Следующая тема Словари в Питон

Поделиться:

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!