Python предлагает несколько вариантов разработки графического интерфейса (графический интерфейс пользователя). Из всех методов графического интерфейса наиболее часто используется tkinter. Это стандартный интерфейс Python для инструментария Tk GUI, поставляемого вместе с Python. Python с tkinter-это самый быстрый и простой способ создания графических приложений. Создание графического интерфейса с помощью tkinter-это простой task.
To создайте приложение tkinter:
- Импорт модуля – tkinter
- Создайте главное окно (контейнер)
- Добавьте любое количество виджетов в главное окно
- Примените триггер события к виджетам.
Импорт tkinter аналогичен импорту любого другого модуля в коде Python. Обратите внимание, что имя модуля в Python 2.x — «Tkinter’, а в Python 3.x — «tkinter».
import tkinter
Существуют два основных метода, которые пользователь должен запомнить при создании приложения Python с графическим интерфейсом.
- Tk(screenName=None, baseName=None, className=’Tk’, useTk=1): Для создания главного окна tkinter предлагает метод » Tk(Имя экрана=Нет, Базовое имя=Нет, имя класса=’Tk’, useTk=1)’. Чтобы изменить имя окна, вы можете изменить имя класса на нужное. Основным кодом, используемым для создания главного окна приложения, является:m=tkinter.Tk() , где m — имя объекта главного окна
- mainloop(): Существует метод, известный под именем mainloop (), который используется, когда приложение готово к запуску. mainloop () — это бесконечный цикл, используемый для запуска приложения, ожидания наступления события и обработки события, пока окно не закрыто.
m.mainloop()
import tkinter
m = tkinter.Tk()
'''
widgets are added here
'''
m.mainloop()
tkinter также предоставляет доступ к геометрической конфигурации виджетов, которые могут упорядочивать виджеты в родительских окнах. В основном существует три класса geometry manager classes.
- pack() method: Он организует виджеты в блоки перед размещением в родительском виджете.
- grid() method: Он организует виджеты в сетке (табличной структуре) перед размещением в родительском виджете.
- place() method: Он организует виджеты, размещая их на определенных позициях, направленных программистом.
Существует ряд виджетов, которые вы можете разместить в своем приложении tkinter. Некоторые из основных виджетов описаны ниже:
- Button: Для добавления кнопки в ваше приложение используется этот виджет.
Общий синтаксис таков:
w = Button(master, option=value)
мастер — это параметр, используемый для представления родительского окна.
Существует ряд опций, которые используются для изменения формата кнопок. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- activebackground: для установки цвета фона, когда кнопка находится под курсором.
- activeforeground: для установки цвета переднего плана, когда кнопка находится под курсором.
- bg: чтобы установить нормальный цвет фона.
- command: для вызова функции.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на кнопке.
- width: для установки ширины кнопки.
- height: для установки высоты кнопки.
import tkinter as tk
r = tk.Tk()
r.title('Counting Seconds')
button = tk.Button(r, text='Stop', width=25, command=r.destroy)
button.pack()
r.mainloop()
Выход:
2. Canvas: Используется для рисования изображений и других сложных компоновок, таких как графика, текст и виджеты.
Общий синтаксис таков:
w = Canvas(master, option=value)
master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bd: для установки ширины границы в пикселях.
- bg: для установки нормального цвета фона.
- cursor: для установки курсора, используемого на холсте.
- highlightcolor: для установки цвета, отображаемого в выделенном фокусе.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
master = Tk()
w = Canvas(master, width=40, height=60)
w.pack()
canvas_height=20
canvas_width=200
y = int(canvas_height / 2)
w.create_line(0, y, canvas_width, y )
mainloop()
Выход:
3. Кнопка проверки: Чтобы выбрать любое количество опций, отобразив несколько опций пользователю в виде кнопок переключения.
Общий синтаксис таков:
w = CheckButton(master, option=value)
Существует ряд опций, которые используются для изменения формата этого виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- Title: Чтобы задать заголовок виджета.
- activebackground: чтобы задать цвет фона, когда виджет находится под курсором.
- activeforeground: чтобы задать цвет переднего плана, когда виджет находится под курсором.
- bg: чтобы установить нормальную backgrouSteganography
Break
Секретный код:
Прикрепите файл: nd color.
- command: для вызова функции.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на виджете.
from tkinter import *
master = Tk()
var1 = IntVar()
Checkbutton(master, text='male', variable=var1).grid(row=0, sticky=W)
var2 = IntVar()
Checkbutton(master, text='female', variable=var2).grid(row=1, sticky=W)
mainloop()
Выход:
4. Entry: Используется для ввода однострочного текстового ввода от пользователя.. Для многострочного ввода текста используется текстовый виджет.
Общий синтаксис таков:
w = Entry(master, option=value)
мастер — это параметр, используемый для представления родительского окна.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bd: для установки ширины границы в пикселях.
- bg: для установки нормального цвета фона.
- cursor: для установки используемого курсора.
- command: для вызова функции.
- highlightcolor: для установки цвета, отображаемого в выделенном фокусе.
- width: чтобы установить ширину кнопки.
- height: чтобы установить высоту кнопки.
from tkinter import *
master = Tk()
Label(master, text='First Name').grid(row=0)
Label(master, text='Last Name').grid(row=1)
e1 = Entry(master)
e2 = Entry(master)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
mainloop()
Выход:
5. Frame: Она действует как контейнер для хранения виджетов. Он используется для группировки и организации виджетов.
Общий синтаксис таков:
w = Frame(master, option=value)
master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- highlightcolor: Для установки цвета выделения фокуса, когда виджет должен быть сфокусирован.
- bd: для установки ширины границы в пикселях.
- bg: для установки нормального цвета фона.
- cursor: для установки используемого курсора.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack()
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
redbutton = Button(frame, text = 'Red', fg ='red')
redbutton.pack( side = LEFT)
greenbutton = Button(frame, text = 'Brown', fg='brown')
greenbutton.pack( side = LEFT )
bluebutton = Button(frame, text ='Blue', fg ='blue')
bluebutton.pack( side = LEFT )
blackbutton = Button(bottomframe, text ='Black', fg ='black')
blackbutton.pack( side = BOTTOM)
root.mainloop()
Выход:
6. Label: Это относится к окну отображения, в которое вы можете поместить любой текст или изображение, которые могут быть обновлены в любое время в соответствии с кодом.
Общий синтаксис таков:
w = Label(master, option=value) master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bg: чтобы установить нормальный цвет фона.
- bg: чтобы установить нормальный цвет фона.
- command: для вызова функции.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на кнопку.
- width: чтобы установить ширину кнопки.
- height: чтобы установить высоту кнопки.
from tkinter import *
root = Tk()
w = Label(root, text='GeeksForGeeks.org!')
w.pack()
root.mainloop()
Выход:
7. Listbox: Он предлагает пользователю список, из которого пользователь может выбрать любое количество вариантов.
Общий синтаксис таков:
w = Listbox(master, option=value) master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- highlightcolor: Для установки цвета выделения фокуса, когда виджет должен быть сфокусирован.
- bg: чтобы установить нормальный цвет фона.
- bd: для установки ширины границы в пикселях.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на виджете.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
top = Tk()
Lb = Listbox(top)
Lb.insert(1, 'Python')
Lb.insert(2, 'Java')
Lb.insert(3, 'C++')
Lb.insert(4, 'Any other')
Lb.pack()
top.mainloop()
Выход:
8. MenuButton: Это часть нисходящего меню, которое постоянно отображается в окне. Каждая кнопка меню имеет свою собственную функциональность. Общий синтаксис таков:
w = MenuButton(master, option=value)
master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- activebackground: Для установки фона при наведении курсора мыши на виджет.
- activeforeground: Чтобы установить передний план, когда мышь находится над виджетом.
- bg: чтобы установить нормальный цвет фона.
- bd: чтобы установить размер границы вокруг индикатора.
- cursor: Для отображения курсора при наведении курсора мыши на меню.
- image: чтобы установить изображение на виджете.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
- highlightcolor: Для установки цвета выделения фокуса, когда виджет должен быть сфокусирован.
from tkinter import *
top = Tk()
mb = Menubutton ( top, text = "GfG")
mb.grid()
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu
cVar = IntVar()
aVar = IntVar()
mb.menu.add_checkbutton ( label ='Contact', variable = cVar )
mb.menu.add_checkbutton ( label = 'About', variable = aVar )
mb.pack()
top.mainloop()
Выход:
9. Menu: Оно используется для создания всех видов меню, используемых приложением.
Общий синтаксис таков:
w = Menu(master, option=value) master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата этого виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- title: Чтобы задать заголовок виджета.
- activebackground: чтобы задать цвет фона, когда виджет находится под курсором.
- activeforeground: чтобы задать цвет переднего плана, когда виджет находится под курсором.
- bg: чтобы установить нормальный цвет фона.
- command: для вызова функции.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на виджете.
from tkinter import *
root = Tk()
menu = Menu(root)
root.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label='File', menu=filemenu)
filemenu.add_command(label='New')
filemenu.add_command(label='Open...')
filemenu.add_separator()
filemenu.add_command(label='Exit', command=root.quit)
helpmenu = Menu(menu)
menu.add_cascade(label='Help', menu=helpmenu)
helpmenu.add_command(label='About')
mainloop()
Выход:
10. Сообщение: Оно относится к многострочному и не редактируемому тексту. Он работает так же, как и этикетка.
Общий синтаксис таков:
w = Message(master, option=value)
master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bd: чтобы установить границу вокруг индикатора.
- bg: чтобы установить нормальный цвет фона.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на виджете.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
main = Tk()
ourMessage ='This is our Message'
messageVar = Message(main, text = ourMessage)
messageVar.config(bg='lightgreen')
messageVar.pack( )
main.mainloop( )
Выход:
11. RadioButton: Используется для предоставления пользователю возможности выбора из нескольких вариантов. Он предлагает пользователю несколько вариантов, и пользователь должен выбрать один из них.
Общий синтаксис таков:
w = RadioButton(master, option=value)
Существует ряд опций, которые используются для изменения формата этого виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- activebackground: чтобы задать цвет фона, когда виджет находится под курсором.
- activeforeground: чтобы задать цвет переднего плана, когда виджет находится под курсором.
- bg: чтобы установить нормальный цвет фона.
- command: для вызова функции.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на виджете.
- width: чтобы задать ширину метки в символах.
- height: чтобы задать высоту метки в символах.
from tkinter import *
root = Tk()
v = IntVar()
Radiobutton(root, text='GfG', variable=v, value=1).pack(anchor=W)
Radiobutton(root, text='MIT', variable=v, value=2).pack(anchor=W)
mainloop()
Выход:
12. Scale: Он используется для предоставления графического ползунка, который позволяет выбрать любое значение из этого масштаба.
Общий синтаксис таков:
w = Scale(master, option=value)
master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- cursor: Чтобы изменить шаблон курсора, когда мышь находится над виджетом.
- activebackground: Для установки фона виджета при наведении курсора мыши на виджет.
- bg: чтобы установить нормальный цвет фона.
- orient: Установите его в ГОРИЗОНТАЛЬНОЕ или ВЕРТИКАЛЬНОЕ положение в соответствии с требованиями.
- from_: Для установки значения на одном конце диапазона шкалы.
- to: Для установки значения другого конца диапазона шкалы.
- image: чтобы установить изображение на виджете.
- width: чтобы задать ширину виджета.
from tkinter import *
master = Tk()
w = Scale(master, from_=0, to=42)
w.pack()
w = Scale(master, from_=0, to=200, orient=HORIZONTAL)
w.pack()
mainloop()
Выход:
13. Scrollbar: Относится к контроллеру слайдов, который будет использоваться для реализации перечисленных виджетов.
Общий синтаксис таков:
w = Scrollbar(master, option=value) master is the parameter used to represent the parent window.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- width: чтобы задать ширину виджета.
- activebackground: Для установки фона при наведении курсора мыши на виджет.
- bg: чтобы установить нормальный цвет фона.
- bd: чтобы установить размер границы вокруг индикатора.
- cursor: Для отображения курсора при наведении курсора мыши на меню.
from tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, 'This is line number' + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
Выход:
14. Text: Для редактирования многострочного текста и форматирования его отображения.
Общий синтаксис таков:
w = Text(master, option=value)
Существует ряд опций, которые используются для изменения формата текста. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- highlightcolor: Для установки цвета выделения фокуса, когда виджет должен быть сфокусирован.
- insertbackground: Для установки фона виджета.
- bg: чтобы установить нормальный цвет фона.
- font: чтобы установить шрифт на метке кнопки.
- image: чтобы установить изображение на виджете.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
root = Tk()
T = Text(root, height=2, width=30)
T.pack()
T.insert(END, 'GeeksforGeeks\nBEST WEBSITE\n')
mainloop()
Выход:
15. TopLevel: Этот виджет напрямую управляется оконным менеджером. Для работы с ним не требуется никакого родительского окна.
Общий синтаксис таков:
w = TopLevel(master, option=value)
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bg: чтобы установить нормальный цвет фона.
- bd: чтобы установить размер границы вокруг индикатора.
- cursor: Для отображения курсора при наведении курсора мыши на меню.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
root = Tk()
root.title('GfG')
top = Toplevel()
top.title('Python')
top.mainloop()
Выход:
16. SpinBox: Это запись виджета » Запись’. Здесь значение можно ввести, выбрав фиксированное значение чисел.
Общий синтаксис таков:
w = SpinBox(master, option=value)
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bg: чтобы установить нормальный цвет фона.
- bd: чтобы установить размер границы вокруг индикатора.
- cursor: Для отображения курсора при наведении курсора мыши на меню.
- command: Для вызова функции.
- width: чтобы задать ширину виджета.
- activebackground: Для установки фона при наведении курсора мыши на виджет.
- disabledbackground: Чтобы отключить фон, когда мышь находится над виджетом.
- from_: Для установки значения на одном конце диапазона.
- to: Для установки значения на другом конце диапазона.
from tkinter import *
master = Tk()
w = Spinbox(master, from_ = 0, to = 10)
w.pack()
mainloop()
Выход:
17. PannedWindow: Это виджет-контейнер, который используется для обработки количества расположенных в нем панелей.
Общий синтаксис таков:
w = PannedWindow(master, option=value)
мастер — это параметр, используемый для представления родительского окна.
Существует ряд опций, которые используются для изменения формата виджета. Количество параметров может быть передано в виде параметров, разделенных запятыми. Некоторые из них перечислены ниже.
- bg: чтобы установить нормальный цвет фона.
- bd: чтобы установить размер границы вокруг индикатора.
- cursor: Для отображения курсора при наведении курсора мыши на меню.
- width: чтобы задать ширину виджета.
- height: для установки высоты виджета.
from tkinter import *
m1 = PanedWindow()
m1.pack(fill = BOTH, expand = 1)
left = Entry(m1, bd = 5)
m1.add(left)
m2 = PanedWindow(m1, orient = VERTICAL)
m1.add(m2)
top = Scale( m2, orient = HORIZONTAL)
m2.add(top)
mainloop()