Python GUI tkinter #8 - Button. Кнопка. Свойства, атрибуты, команды. Применение

preview_player
Показать описание
Приветствую вас, дорогие зрители! В данном курсе мы с Вами научимся создавать своё полноценное приложение на языке программирования Python 3, которое будет включать не только логику, но и графический интерфейс (GUI).

В данной части курса Вы:
1. Узнаете, что представляет из себя кнопка в модуле Tkinter.
2. Рассмотрите все основные параметры класса Button.
3. Научитесь создавать кнопки, программировать их действия и применять их на практике.

Все исходные файлы для игры:

Группа ВКонтакте Источник Знаний:

Поделитесь с друзьями ссылкой на канал, чтобы они тоже узнали что-то новое для себя:

Если у Вас есть желание и возможность материально помочь каналу - вот ссылка на перевод на яндекс кошелек:
Спасибо!

Если у вас возникли какие-либо вопросы или появились предложения, то обязательно пишите их в комментариях. И не забудьте поставить лайк. Также делитесь этим видео с друзьями - пусть они узнают, что программировать графический интерфейс совсем не сложно. С вами был канал Источник Знаний.
Спасибо за просмотр!

Наличие GUI является неотъемлемой частью любого современного приложения. Особенно если конечный пользователь далёк от программирования. GUI будет визитной карточкой Вашего ПО, от его реализации будет зависеть рейтинг ваших разработок. Именно поэтому данная тема актуальна сейчас и будет актуальна в будущем!
Весь данный курс опирается на модуль tkinter, который встроен в язык Python сразу при установке (что говорит о его высокой репутации).
Рекомендации по теме
Комментарии
Автор

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

1:55 - рамка (relief, borderwidth)
2:20 - работа с текстом (font, wraplength, justify, underline)
3:45 - работа с текстом (StringVar, textvariable)
4:35 - изображения в кнопке (image, compound)
8:57 - цвет кнопки (background, foreground, activebackground, activeforeground)
10:04 - действия (command)
11:25 - действия над другими лейблами
16:35 - кнопка выхода из приложения

KnowledgeSourceRu
Автор

Вау, я просто кайфую от Вашей подачи материала!) Максимально понятно и исчерпывающе. Спасибо за крутые уроки.

АсяФедорова-тб
Автор

Обожаю ваши видео, всё очень подробно и понятно, СПАСИБО!

slavutich
Автор

В качестве самостоятельной работы:
Создать 7 лейблов - по одному на каждый из цветов радуги. Все лейблы должны изначально соответствовать естественному порядку цветов (первый - красный, второй - оранжевый и так далее).
В программу добавить 3 кнопки:
- первая должна перемешивать цвета лейблов, расставлять их в случайном порядке;
- вторая должна сортировать цвета в порядке цветов радуги;
- третья должна сортировать цвета лейблов в обратном порядке (первый лейбл - фиолетовый, второй - синий и так далее).
Удачи!

KnowledgeSourceRu
Автор

молодец автор, без лишней воды четко и ясно объяснил тему.

ДмитрийЗайцев-зк
Автор

Потрясно!) Спасибо за урок! Ждём следующий!

gamedevstanislove
Автор

Жаль что мало просмотров и лайков, видео то реально годное.

exlipse
Автор

А я просто сделал что бы вызывалось дочернее окно по нажатию на кнопку и дальше просто смотрел видео)

SkaRobey
Автор

Здравствуйте, можно ли написать одну функцию изменения цвета для нескольких кнопок? То есть при нажатии кнопки передается не только ее параметры но и название и соответственно функция выполняется для данной нажатой кнопки. А при нажатии другой действие выполняется для нее.

даниилвигасин
Автор

Можно видео по TTK думаю всем будет интересно

НиколайТуршиев
Автор

Привет, можешь пожалуйста подсказать следующее:
Как сделать, чтобы при нажатии на физической клавиатуре кнопки ENTER одновременно нажималась (продавливалась, проваливалась, короче реагировала так, как если бы по ней кликнули левой кнопкой мыши) кнопка BUTTON? Заранее спасибо)

артемпупкин-дх
Автор

Все хорошо изложенно в данном видео, но появилась проблема с установкой Pillow, что может быт?
Command -u -c "import setuptools,
y';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record
--compile --install-headers failed with error co
de 1 in

александр-рмм
Автор

Привет, такой вопрос возник. Я написал метод создания кнопки используя на фоне изображение. Но когда хочу создать несколько таких кнопки используя этот метод - возникает ошибка. Прорисовывается и нажимается только последняя кнопка. Как сделать так, чтобы все кнопки прорисовывались и нажимались?
*это метод создающий кнопку
def create_button(self, text_button="button", height_gm=0):
img = PilImage.open(BUTTON_BG)
img = img.resize((BUTTON_WIDTH, BUTTON_HEIGHT), PilImage.ANTIALIAS)
self.photo_image = ImageTk.PhotoImage(img)

button = Button(self.window, text=text_button, font=("TimesNewRoman", 11), image=self.photo_image,
compound=CENTER, bd=1, pady=5)

button.pack()
button.place(x=BUTTON_WIDTH_GM, y=BUTTON_HEIGHT_GM + height_gm)

*это метод main, тут создаю объект окна и пытаюсь прорисовать на нём кнопки
from interface import Interface

window = Interface()

window.create_button("1 button")
window.create_button("2 button", 50)

window.run()

stepansamulev
Автор

Скажите, пожалуйста, а можно с помощью кнопки открыть (запустить) стороннюю программу или файл, например, Word, Excel документ, запустить видео? Спасибо.

ВладКожа
Автор

Чувак, выручай пожалуйста.Подскажи что делать.
Я создал главное окно, и на нем 4 кнопки.Как сделать так, чтобы при нажатии на одну ищ этих кнопок, у меня открывалось новое окно:
Например: я нажимаю на кнопку 1 и у меня открывается окно 1
Я нажимаю на кнопку 2-открывается окно 2

Юрыч-эс
join shbcf.ru