Начните создавать настольные приложения на Python с помощью библиотеки графического интерфейса Tkinter

Начните создавать настольные приложения на Python с помощью библиотеки графического интерфейса Tkinter

Tkinter - это набор инструментов с графическим пользовательским интерфейсом (GUI), который вы должны попробовать, если хотите изучить возможности Python в создании настольных приложений.





Здесь мы рассмотрим основы графического интерфейса пользователя Tkinter.





бесплатное приложение для звонков по Wi-Fi для Android

Настройка Tkinter

Как правило, устанавливать tkinter отдельно, если вы установили более позднюю версию Python, начиная с Python 3. Однако библиотека может не работать со старыми версиями Python. Это обычная проблема для пользователей Mac и Linux, поскольку эти ОС обычно по умолчанию поставляются со старыми версиями Python.





Как правило, для использования tkinter модуль, убедитесь, что вы загрузили и установили последнюю совместимую версию Python на свой компьютер с официального python.org Веб-сайт.

Если вы работаете на Mac, вы также можете загрузить последнюю версию ActiveTcl, tkinter компилятор из ActiveState .



Как использовать Tkinter

Tkinter зависит от встроенного ТЗ класс. И он объединяет все события в графическом интерфейсе в главная петля . Таким образом главная петля обертка делает ваш tkinter исполняемый код.

Чтобы начать с tkinter :





from tkinter import Tk
Tk().mainloop()

Выполнение приведенного выше кода приводит к появлению пустого tkinter Рамка.

Однако возможности настройки Tkinter находятся во встроенных виджетах.





Чтобы использовать эти виджеты, вы можете импортировать их из tkinter путем замены из tkinter import Tk с участием:

from tkinter import *
t = Tk()
t.mainloop()

Вы также можете настроить размер окна с помощью геометрия функцию, а затем укажите заголовок, используя заглавие виджет tkinter :

t = Tk()
t.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Виджет ярлыков Tkinter

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

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

В сетка() метод, однако, является альтернативой пакет() метод. Он прикрепляет ваши виджеты к графическому интерфейсу, делая их видимыми.

Вы также можете указать шрифт для своего Этикетка текст:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

Работа с виджетами кнопок в Tkinter

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

Вот как добавить основную кнопку в ваш графический интерфейс с помощью Кнопка виджет:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

В bg а также фг Ключевые слова описывают цвет фона кнопки и цвет текста внутри нее соответственно.

Вы также можете настроить размер кнопки, включив рост а также ширина параметры:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

Вот результат:

кто заблокировал меня на фейсбуке

А если вы хотите сделать кнопку более привлекательной, вы можете добавить облегчение ключевое слово, а затем отрегулируйте ширину его границы:

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=6).grid()
t.mainloop()

А это выглядит так:

Заменять ПОДНЯТЫЙ с участием ПЛОСКИЙ чтобы увидеть, как это происходит.

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

Чтобы избежать перекрытия, вы можете указать положение строки и столбца для каждой кнопки:

t = Tk()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

Необязательный команда ключевое слово, однако, добавляет события в Кнопка виджет. По сути, он закрепляет необязательную функцию, которая обрабатывает определенные события при нажатии кнопки.

В приведенном ниже коде, например, значение каждой кнопки умножается на 6, когда вы нажимаете на нее. И это основано на предопределенной функции:

def buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

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

И если вы беспокоитесь о колодки ключевое слово, оно четко разделяет каждую кнопку в строке. Заменив это на Padx разделяет кнопки по столбцу. И вы можете использовать оба ключевых слова одновременно, чтобы разделить кнопки по обеим осям по своему желанию.

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

Но ты можешь использовать цикл for чтобы избежать этого повторения.

Итак, вот более короткая и лучшая версия приведенного выше кода:

def buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

Давайте дальше исследуем силу для цикл для добавления кнопок меню в ваш графический интерфейс:

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

Добавить кнопки проверки в ваш графический интерфейс тоже довольно просто:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

Не стесняйтесь умножать эту кнопку с галочкой, используя для цикл, как и раньше.

Как создать раскрывающееся меню с помощью виджета меню Tkinter

В Меню виджет позволяет создавать интерактивные раскрывающиеся меню в tkinter .

Как было сказано ранее, tkinter предлагает множество вариантов виджетов. И вы будете использовать некоторые из них при разработке раскрывающегося меню.

Вот некоторые из распространенных вариантов виджетов, с которыми вы столкнетесь при создании раскрывающегося списка:

  • add_cascade: Он отображает метку меню и наклеивает ее на свое место.
  • add_separator: Он разделяет подменю и группирует их на верхнее и нижнее подменю.
  • add_command: Здесь вы даете название своему подменю. В конечном итоге он принимает аргумент команды, в котором вы можете указать обработчик событий.

Вот пример раскрывающегося списка, в котором используются эти три варианта:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.add_command(label=i, command=None)
menuBar.add_cascade(label='View', menu=View)
t.config(menu=menuBar)
t.mainloop()

Посмотрите, как это выглядит:

Меню опций Tkinter

An Optionmenu , в отличие от Меню раскрывающийся список, переключает его метку на выбранный вариант.

Хотя вы можете указать значение метки по умолчанию для меню параметров, по умолчанию у него нет метки.

Связанный: Идеи проекта Python, подходящие для начинающих

Вот как создать меню параметров в tkinter :

t = Tk()
Omenu = StringVar() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
OptionMenu(t, Omenu, 'MUO', 'Amazon', 'Tutorial').grid()
t.mainloop()

Создайте многоразовое настольное приложение с помощью Tkinter

Tkinter предлагает множество функций, которые помогут вам создавать настольные приложения с интерактивным графическим интерфейсом. Хотя у него может не быть многих гибких функций украшения, как у некоторых других модулей графического интерфейса Python, это по-прежнему удобный инструмент, который стоит изучить. И хотя приведенные здесь примеры показывают только некоторые из основных концепций, tkinter предлагает более продвинутые функции, которые вы можете попробовать.

как у вас gameshare на xbox

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

Делиться Делиться Твитнуть Эл. адрес GUI? Что такое графический интерфейс пользователя?

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

Читать далее
Похожие темы
  • Программирование
  • Python
Об авторе Идису Омисола(Опубликовано 94 статей)

Идову увлечен всем, что связано с умными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.

Ещё от Idowu Omisola

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться