Создание GUI приложения Python tkinter. Виджет Button. Кнопка tkinter

  Рет қаралды 89,915

egoroff_channel

egoroff_channel

3 жыл бұрын

Стать спонсором канала и получить доступ к дополнительным материалам по Python
/ @egoroffchannel
boosty.to/egoroff_channel
/ artem_egorov
stepik.org/course/63085/syllabus
Курс по основам python на Степике
stepik.org/course/72969/promo
Записывайся на курс на Stepic по ООП, где найдешь много практических задач
Ссылка на урок
egoroffartem.pythonanywhere.co...
При помощи библиотеки tkinter можно создать свои десктопные графические приложения на python. Мы изучим все основные виджеты, которые применяются в формах и создадим на их основе такие проекты как Калькулятор, Paint, Сапер, Блокнот
Все видео этого курса можете найти на сайте
egoroffartem.pythonanywhere.co...
или в Вк
videos-177962775?secti...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_egoroff
python.study
В данном группе можете найти информацию о новых видео и задать вопросы

Пікірлер: 189
@user-ki3xi9tq7b
@user-ki3xi9tq7b 2 жыл бұрын
Вы лучше чем Хауди, Дударь и Шпагин вместе взятые. Спасибо!
@user-vq8fh3yj1w
@user-vq8fh3yj1w 2 жыл бұрын
кто эти люди.
@maxkachuriak
@maxkachuriak 2 жыл бұрын
🧢
@jiijijjijji
@jiijijjijji 2 жыл бұрын
А Шпагин это кто?
@levnovchannel
@levnovchannel Жыл бұрын
Согласен
@ivanfilin8432
@ivanfilin8432 2 жыл бұрын
Сложно новичку, но интересно, особенно когда видишь результаты труда, пусть и повтора за вами
@DarjaDivina
@DarjaDivina 3 жыл бұрын
Спасибо огромное, невозможно оторваться! ваш канал -очень ценная находка!
@Adult_mult_studio
@Adult_mult_studio Жыл бұрын
импортировал модуль random и подставил в кнопке в command " def color(): c = ['white','black', 'yellow', 'orange', 'green', 'blue', 'purple'] win.config(background=random.choice(c)) "
@user-jx9sc9ue9k
@user-jx9sc9ue9k 3 жыл бұрын
шикарные курсы по питону!! Спасибо!
@user-cr8dc4op3x
@user-cr8dc4op3x Жыл бұрын
Отличный материал, спасибо!
@lumbagochapter9296
@lumbagochapter9296 9 ай бұрын
Спасибо вам большое!
@zamestaimja
@zamestaimja 3 жыл бұрын
Замечательно. Спасибо большое. Оказалось, что стать спонсором совсем не так страшно. Зато ничего искать не надо, всё разжевывается, только успевай усваивать)))
@mihhail75
@mihhail75 3 жыл бұрын
Спасибо за урок! Хорошо как всегда!
@FidelGarsia
@FidelGarsia 2 жыл бұрын
Спасибо огромное! все очень понятно, без лишних слов! 👍
@user-ml5if1zg8g
@user-ml5if1zg8g 2 жыл бұрын
Очень информативно и помогает дополнительно к основным курсам, более понятно.Спасибо
@michaelmushers6368
@michaelmushers6368 2 жыл бұрын
Спасибо тебе добрый человек. Очень информативно, внятно и доходчиво! 🤝
@MrGor9
@MrGor9 2 жыл бұрын
функция для деактивации/активации кнопки: def fsatate(): if btn5['state'] == DISABLED: btn5['state'] = NORMAL else: btn5['state'] = DISABLED Т.е. просто меняется при нажатии значение с DISABLED на NORMAL и наоборот
@Erdauletoff
@Erdauletoff 2 жыл бұрын
Как же я не додумался до этого🤦‍♂
@dimkinazvezda
@dimkinazvezda 2 жыл бұрын
def fsatate(): if btn4['state'] == tk.DISABLED: btn4['state'] = tk.NORMAL else: btn4['state'] = tk.DISABLED
@rizer3604
@rizer3604 Жыл бұрын
Спасибо! Помог
@adilkhanarts5294
@adilkhanarts5294 Жыл бұрын
File "C:\Users\adilk\Documents\PythonProjects\�������", line 2, in state if btn1['state'] == NORMAL: NameError: name 'NORMAL' is not defined def state(): if btn1['state'] == NORMAL: btn1['state'] = DISABLE else: btn1[state] = NORMAL btn1 = tk.Button(win, text='state', command=state, state=tk.NORMAL )
@user-vc5dw8ot7j
@user-vc5dw8ot7j 2 жыл бұрын
Спасибо вам большое, вы единственный кто понятно, полно и без лишней спешки объясняет. Кто хочет чему- то научиться, вам сюда.
@aleksabramov
@aleksabramov 2 жыл бұрын
Цвета можно так нарандомить f"#{random.randrange(0x1000000):06x}"
@kutman.eshenkulov
@kutman.eshenkulov 3 жыл бұрын
Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!
@user-cx2qr9sn9g
@user-cx2qr9sn9g 2 ай бұрын
пропустили момент, когда у функции есть аргументы. спасибо за урок:)
@Arthur-xx2ek
@Arthur-xx2ek 2 ай бұрын
Очень хороший урок!!
@evgenyk496
@evgenyk496 3 жыл бұрын
Ваш урок помог разобраться, лайк!
@user-jv1vi3ti6v
@user-jv1vi3ti6v Жыл бұрын
Спасибо Артем Все понятно и интересно
@tvmn8
@tvmn8 Жыл бұрын
спасибо за серию видеороликов, единственный канал на котором я смог найти нормальные уроки по этой библиотеке
@Alex_Day_
@Alex_Day_ Жыл бұрын
Это самое крутое объяснение которое я когда либо находил, спасибо огромное за твое время и труд
@andreigerasimenko2213
@andreigerasimenko2213 3 жыл бұрын
Спасибо за урок!
@lipsrow216
@lipsrow216 3 жыл бұрын
6:47 Разрывная)
@Vladimir-re8xl
@Vladimir-re8xl 3 жыл бұрын
да, хорошая
@headless_army
@headless_army Жыл бұрын
Добрый день! Курс очень понравился но есть один нюанс: 2:51 передать аргументы в кнопке можно. Достаточно написать функцию а потом: command = lambda: название функции(аргументы). То есть через лямбду функцию вызвать другую функцию и уже в нее передать аргументы. Спасибо еще раз за курс!
@user-kt6pl7fj3o
@user-kt6pl7fj3o Жыл бұрын
И как же это тебе поможет? Если даже вызывать функцию внутри анонимной функций и узнать к чему равен count и изменить словарь button это тебе не поможет а лишь добавит больше кода и ошибки
@user-kt6pl7fj3o
@user-kt6pl7fj3o Жыл бұрын
Просто если даже изменить count, то не измениться самое число внутри button и нужно будет и count и button менять
@lookasican
@lookasican Жыл бұрын
Спасибо! Помоги тебе бог, добрый человек!
@arseniymironov2175
@arseniymironov2175 2 жыл бұрын
Спасибо большое!)
@darul-asar381
@darul-asar381 3 жыл бұрын
Артём спасибо тебе за такой классный контент, продолжай в том же духе. У меня к тебе вопрос, можно ли в функцию которую мы создаём для кнопки, поставить ссылку на файл txt ? Например, кода мы меняли иконку нашего окна, мы ссылались на фото которую ранее мы скачали, можно ли такое сделать для кнопки, что бы нажав на кнопку у нас открылся лейбл с куча текстов? Очень сумбурно объяснил, но надеюсь ты понял суть
@remaksiva
@remaksiva Жыл бұрын
Спасибо огромное!
@abdulloakramov7941
@abdulloakramov7941 9 ай бұрын
👍👍
@user-pp2oj2jw5k
@user-pp2oj2jw5k 2 жыл бұрын
Класс!
@shedevr_football
@shedevr_football 9 ай бұрын
import tkinter as tk import random as r def do(): colors = ('yellow', 'blue', 'red', 'pink', 'brown', 'purple', 'orange') rand = r.randint(0, 6) win.config(bg=colors[rand]) win = tk.Tk() photo = tk.PhotoImage(file='programm.png') win.config(bg='yellow') win.geometry('400x400+300+200') win.iconphoto(False, photo) button = tk.Button(win, text='Click it!', command=do ) button.pack() win.mainloop() P.s Вот дз), сделал по-своему принципу😁
@user-oh9yh2je4m
@user-oh9yh2je4m 2 ай бұрын
Есть несколько строк текста с разным размером шрифта. Возможно ли это всё запихнуть в некий контейнер и чтобы при нажатии на любую область этого контейнера выполнялось событие? Грубо говоря нужно запихнуть в кнопку несколько виджетов, чтобы это всё было одной кнопкой
@yasparkyyy1782
@yasparkyyy1782 2 жыл бұрын
Лутший, все понял, спасибо!
@Vladimir-Velikij
@Vladimir-Velikij 7 ай бұрын
лучший - пиши грамотно сопляк
@user-hc1tp9ub3j
@user-hc1tp9ub3j Жыл бұрын
Шутка на 6 минуте разорвала просто )))))))))))))))
@W_corp
@W_corp Жыл бұрын
Большое вам спасибо😀😁🤪
@user-kr3iq4vt9t
@user-kr3iq4vt9t Жыл бұрын
кнопа срабатывает сразу без ожидания
@greshniktarantino7281
@greshniktarantino7281 Жыл бұрын
Пока смотрю и повторяю, всё так легко, а как начинаю сам.. затупливаю сразу)
@natashasmirnova6088
@natashasmirnova6088 Жыл бұрын
почему у меня все белое и после окончания строчки тоесть я что то написал и нажал ентер для следующей строчки то что я писал на прошлой строчке удалить нельзя?
@fgotik1990
@fgotik1990 2 жыл бұрын
Лучший
@user-bf3ox5qy6h
@user-bf3ox5qy6h Жыл бұрын
Рандомное изменение цветов по кнопке: def color_changer(): colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'] import random random_index = random.randint(0, len(colors) - 1) root.config(bg=colors[random_index])
@user-jj3xv5vw2b
@user-jj3xv5vw2b 3 жыл бұрын
Классно
@kutman.eshenkulov
@kutman.eshenkulov 3 жыл бұрын
Расскажи подробно про Delate(), Entry и mainloop
@user-vi9ww7oo7p
@user-vi9ww7oo7p 3 жыл бұрын
kzbin.info/www/bejne/o33chHWZiJJpppI
@jiijijjijji
@jiijijjijji 2 жыл бұрын
Определенно.
@vasbkamarxil1260
@vasbkamarxil1260 Жыл бұрын
SUPER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@nurikzhubatkan489
@nurikzhubatkan489 Жыл бұрын
😁
@user-tg8nk3xp6g
@user-tg8nk3xp6g Жыл бұрын
cveta = ['red','green','blue','black','white'] def random_color(): window['bg'] = random.choice(cveta) b5=Button(window, text='рандомный цвет фона', command=random_color) b5.pack()
@user-iy7rm7dt8x
@user-iy7rm7dt8x 2 жыл бұрын
А можно ли как-то функционал кнопок вынести в другие скрипты и запускать их из этого же скрипта (как в C#).
@user-bg1ze2mx9q
@user-bg1ze2mx9q 3 жыл бұрын
def dds(): global count l = [btn1, btn2, btn3] if count % 2 == 0: for i in l: i['state'] = tk.DISABLED else: for i in l: i['state'] = tk.NORMAL
@markfabius
@markfabius 2 жыл бұрын
Спасибо большое но ты забыла count + = 1
@alexanderaksenov9010
@alexanderaksenov9010 2 жыл бұрын
if и else можно внутри одного цикла for написать
@user-pe1fu1zs4m
@user-pe1fu1zs4m Жыл бұрын
по замене цвета def bg_win(): col=['red', 'green', 'blue','pink', 'white', 'brown'] win.config(background=random.choice(col))
@konstantinkatz4457
@konstantinkatz4457 3 жыл бұрын
фрагмент для блокировки/разблокировки кнопок пятой кнопкой #------------ def fstat(): bstat = btn4['state'] if bstat == 'normal': bstat = 'disabled' elif bstat == 'disabled': bstat = 'normal' btn1['state'] = btn2['state'] = btn3['state'] = btn4['state'] = bstat btn5['text'] = f'button stat {bstat}' #------------ btn5 = tk.Button(win, text=f'buttons is normal', command=fstat ) #------------ btn5.pack()
@koryunarakelyan5928
@koryunarakelyan5928 2 жыл бұрын
Мудро
@user-ml5ko3fv8m
@user-ml5ko3fv8m Жыл бұрын
Спасибо, как раз ломал голову над этим
@user-ml5ko3fv8m
@user-ml5ko3fv8m Жыл бұрын
Единственное что, DISABLED и NORMAL это же не строка Это обьект tk.DISABLED и tk.NORMAL Не знаю, как у вас, но у меня ваш код не работает. Зато работает вот это: def locker(): global btn_wincolor btn_wincolor["state"] = tk.DISABLED btn_wincolor.pack() Это кнопка по нажатию на которую другая кнопка будет блокироваться
@primenzzz4602
@primenzzz4602 3 жыл бұрын
Здравствуйте. Как, непосредственно, изменить параметры Label через Button? Например: при нажатии кнопки - меняется цвет определённого текста.
@user-wp2yh1ux9m
@user-wp2yh1ux9m 3 жыл бұрын
btn['параметр'], например label1['bg'] = 'red
@primenzzz4602
@primenzzz4602 3 жыл бұрын
@@user-wp2yh1ux9m thank you
@user-ql9eg7qg2n
@user-ql9eg7qg2n 3 жыл бұрын
А как сворачивать окно в трэй и выводить всплывающие окошки из трея, вы узнаете в специальном выпуске, доступном только для спонсоров :)))
@faritech3892
@faritech3892 3 жыл бұрын
А шо поделать)
@locogooneGD
@locogooneGD 9 ай бұрын
Ничего не работает, всё через пятую точку
@lait6621
@lait6621 3 жыл бұрын
Без глобал можно как то передать переменную в функцию?
@Sergey-cz7ym
@Sergey-cz7ym Жыл бұрын
нажимая на btn3 мы добавляем каждый раз новые label. А как можно изменить текст новых label или одной из новых (добавленных) label?
@MrGor9
@MrGor9 2 жыл бұрын
Функция случайный фон: def random_bg(): color = random.choice(["black", "cyan", "magenta", "red", "blue", "gray" ]) win.configure(background=color) Если сделал через RGB - поделись!)
@user-sz9no7dn6y
@user-sz9no7dn6y Жыл бұрын
def random_rgb(): r = lambda: randint(0, 255) i = '#%02X%02X%02X' % (r(), r(), r()) root.config(bg = i)
@KizHRo
@KizHRo Жыл бұрын
import random color = "#" + random.choice(list_of_color_symbols) + random.choice(list_of_color_symbols) + random.choice(list_of_color_symbols) + random.choice(list_of_color_symbols) + random.choice(list_of_color_symbols) + random.choice(list_of_color_symbols) win.config(bg=color)
@user-io4ef7yu8u
@user-io4ef7yu8u Жыл бұрын
Как размещать кнопку и менять её размер?
@DEnis_Programm
@DEnis_Programm Жыл бұрын
Можем списатся?
@user-fq7lj9cs8n
@user-fq7lj9cs8n 3 жыл бұрын
А есть двухпозиционные кнопки? Типо переключателя, где есть вкл и выкл?
@egoroffchannel
@egoroffchannel 3 жыл бұрын
Радио батон)
@user-fq7lj9cs8n
@user-fq7lj9cs8n 3 жыл бұрын
@@egoroffchannel спасибо)
@user-rq6os3es1v
@user-rq6os3es1v Жыл бұрын
как сделать так чтоб при нажатии откривалась указаная программа
@DEnis_Programm
@DEnis_Programm Жыл бұрын
МОжем спсатся?
@takitak3861
@takitak3861 2 жыл бұрын
Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!
@Vladimir-Velikij
@Vladimir-Velikij 7 ай бұрын
еще 1000 раз напиши лапоть
@ast1694
@ast1694 Жыл бұрын
чтобы функция меняла выбранный параметр для всех кнопок делал список всех кнопок, который обходил в функции, но понимаю что должен быть путь покороче - подскажите как вызвать список с именами всех экземпляров класса Button (btn1, btn2, ...)
@chimpoesh
@chimpoesh Жыл бұрын
Интересует. Как указать кнопке чтобы при нажатии на неё запускался другой фаил в питоне со своей графической оболочкой (другая оболочка). Грубо говоря по кнопке из одного фаила на другой?
@user-dd6ru4wu5r
@user-dd6ru4wu5r 5 ай бұрын
Вариант выполненного ДЗ: def say_hello(): print('hello') def add_label(): label=tk.Label(win,text='new') label.pack() def counter(): global count count+=1 btn4['text']=f'Счетчик:{count}' def disabling(): global count count+=1 if count%2==0: btn1['state']='disabled' else: btn1['state']='normal' def coloring(): color=random.randint(1,900000) win.config(bg=f'#{color}') count = 0 import tkinter as tk import random win = tk.Tk() h = 500 w = 600 photo = tk.PhotoImage(file = 'fun.png') win.iconphoto(False, photo) win.config(bg='green') win.title("First window") win.geometry(f"{h}x{w}+100+200") btn1 = tk.Button(win,text='Hello', command=say_hello) btn2 = tk.Button(win,text='Add new label', command=add_label) btn3 = tk.Button(win,text='Add new label lambda', command=lambda: tk.Label(win,text='new lambda').pack()) btn4 = tk.Button(win,text=f'Счетчик:{count}', command=counter, bg='red', activebackground='blue' ) btn5 = tk.Button(win,text='Disabling', command=disabling, bg='yellow', activebackground='brown' ) btn6 = tk.Button(win,text='BG_Coloring', command=coloring, bg='brown', ) btn1.pack() btn2.pack() btn3.pack() btn4.pack() btn5.pack() btn6.pack() win.mainloop()
@bot_N666
@bot_N666 Жыл бұрын
Как сделать чтобы после нажатия кнопки окно закрывалось?
@maxwell_666
@maxwell_666 9 ай бұрын
в функцию напиши break
@lanaso2761
@lanaso2761 Жыл бұрын
автору огромное спасибо за видео! вот задачка с рандомным фоновым цветом: import tkinter as tk from random import * def random_color(): color = ['black', 'white', 'green', 'yellow', 'blue', 'red', 'grey', 'purple', 'orange'] c = randrange(len(color)) win.config(bg=f'{color[c]}') win = tk.Tk() win.geometry("500x400") bttn_ran = tk.Button(win, text='random fon color', command=random_color, bg='white', fg='black' ) bttn_ran.pack() win.resizable(True, True) win.mainloop()
@SaLAT213
@SaLAT213 11 ай бұрын
харош. я чуть больше кода сделал. через if))
@anel9350
@anel9350 5 ай бұрын
from random import* root = Tk() root.title("Test") root.geometry("300x400+600+200") root["bg"] = "#fff" root.resizable(width=False, height=False) photo = PhotoImage(file="icon.png") root.iconphoto(False, photo) def func(): s = "blue black white yellow green red brown aqua orange lime".split() root["bg"] = choice(s) btn1 = Button(text="Нажми", command=func) btn1.pack() root.mainloop()
@sssernestsss6636
@sssernestsss6636 Жыл бұрын
Почему именно лямбда? А не обычная функция?
@pigarCR
@pigarCR 10 ай бұрын
win=tk.Tk() win.geometry(f"400x500+10+20") win.title("input") win.mainloop()
@moscowtrainspotter501
@moscowtrainspotter501 Жыл бұрын
Функция для изменения состояния всех остальных кнопок: def change_state(): child_keys = win.__dict__['children'] for el in child_keys: if el != '!button': if child_keys[el]['state'] == tk.NORMAL: child_keys[el]['state'] = tk.DISABLED else: child_keys[el]['state'] = tk.NORMAL change_state_btn = Button_mc(win, text='Change the state of the button', command=change_state )
@shortvideos9955
@shortvideos9955 Жыл бұрын
Для рандомного выбора фона окна: colors=['red','green','blue','yellow','orange'] def change_ground(): root.config(bg=random.choice(colors)) button3['text']='change' button3=tk.Button(text='change',command=change_ground)
@AXGroser
@AXGroser Жыл бұрын
узковат у тебя рандом))) лучше через randomint ... root.config(bg=f"#{random.randint(1,1000)}") в одну строчку, можно через лямбду даже впаять)
@shortvideos9955
@shortvideos9955 Жыл бұрын
@@AXGroser можно и так)
@asadbekqudratov9006
@asadbekqudratov9006 Жыл бұрын
durrak
@user-rw2ig6nb5l
@user-rw2ig6nb5l 3 жыл бұрын
Артем, подскажи пожалуйста, с чем может быть связана проблема - вот такой код не меняет цвет кнопки. Строка распаковки есть. При этом, если таким же образом параметр bg='red' прописываю в функции add_label - Питон создает кнопку с нужным цветом.
@user-rw2ig6nb5l
@user-rw2ig6nb5l 3 жыл бұрын
btn_4 = tk.Button(wind, text=f'счётчик{count}', command=counter, padx=14, pady=16, bg='#E5C6EB')
@akzntsvv
@akzntsvv 2 жыл бұрын
Дай угадаю, ты на MacOS работаешь =) Не переживай, у меня такая же тема + коммент выше тоже писал
@user-sh3tc1ue2o
@user-sh3tc1ue2o 2 жыл бұрын
подскажите что обозначает " f " ? В win.geometry(f"400x500+100+200")
@KrabDefense
@KrabDefense 2 жыл бұрын
это метод форматирования строк - f строки a = "python" b = "круто" # заключите переменную в {}, чтобы отобразить ее значение в выводе print(f"{a} это {b}.") вывод: python это круто. он забыл убрать с прошлого урока, где подставлял вместо размеров переменные с ними
@user-sh3tc1ue2o
@user-sh3tc1ue2o 2 жыл бұрын
@@KrabDefense ничего не понял, но спасибо за ответ. А можно ссылку на тот урок, а то видео много еще ни все посмотрел.
@KrabDefense
@KrabDefense 2 жыл бұрын
@@user-sh3tc1ue2o он там просто подставил подставил и ничего не говорил, просто забей "что такое f строки" тебе сразу выдаст :)
@sype1680
@sype1680 3 жыл бұрын
Что за настройки и тема у тебя в PyCharm?
@egoroffchannel
@egoroffchannel 3 жыл бұрын
WarmNeon
@sype1680
@sype1680 3 жыл бұрын
@@egoroffchannel не нашел к сожалению(
@sype1680
@sype1680 3 жыл бұрын
@Tyr Tirov посмотри пожалуйста, если не трудно
@sype1680
@sype1680 3 жыл бұрын
@Tyr Tirov Спасибо большое
@p1nkyun1corn
@p1nkyun1corn 3 жыл бұрын
Блин я умнею
@user-gm8kf7jj1d
@user-gm8kf7jj1d 3 жыл бұрын
Зачем это писать?
@Artem097
@Artem097 Жыл бұрын
Дз.Функция случайного цвета: from random import randrange def randomize_color(): r = hex(randrange(0, 255, 1))[2:] g = hex(randrange(0, 255, 1))[2:] b = hex(randrange(0, 255, 1))[2:] if len(r) != 2: r = '0' + r if len(g) != 2: g = '0' + g if len(b) != 2: b = '0' + b win.config(bg=f'#{r}{g}{b}')
@tranzistor4093
@tranzistor4093 Жыл бұрын
Никогда мне так подробно все не разжовывали...
@meylyssa3666
@meylyssa3666 3 жыл бұрын
...... def color_set(): r = lambda: random.randint(0,255) return '#%02X%02X%02X' % (r(),r(),r()) btn1 = tk.Button(win, text = "Button1", command = color_set) btn1.pack() win.config(bg = color_set()) win.mainloop() По поводу вашего домашнего задания с генерацией цвета фона при нажатии кнопки. У меня фон почему-то не изменяется. Один раз случайно выбрался - и все. Может, со временем снимите видео с разбором этого д/з?
@kanycto4ka
@kanycto4ka 3 жыл бұрын
потому что в функции color_set() надо вместо return присваивать это значение для btn1[bg]
@meylyssa3666
@meylyssa3666 3 жыл бұрын
@@kanycto4kaспасибо!
@dmytrokovalenko8492
@dmytrokovalenko8492 3 жыл бұрын
@@meylyssa3666 vможете прислать рабочий код? а то я не пойму каким образом можно присвоить значение до btn1[bg]
@gxnbzt1142
@gxnbzt1142 3 жыл бұрын
@@dmytrokovalenko8492 btn1['bg'] если нужно поменять фоновый цвет окна то win['bg']
@ihontin
@ihontin 3 жыл бұрын
def random_color(): global ran r = lambda:randint(0,99) ran = str("{:02}".format(r())) + str("{:02}".format(r())) + str("{:02}".format(r())) but2['bg'] = f'#{ran}' ran = 'ff0000'... В 16ричной пока не придумал, как наворотить) Цвета представляются в виде трёх групп шестнадцатеричных цифр, где каждая группа отвечает за свой цвет: #112233, где 11 - красный, 22 - зелёный, 33 - синий. Все значения должны быть между 00 и FF.
@teyken_ya
@teyken_ya Жыл бұрын
4:02 для себя
@mrmsaid7617
@mrmsaid7617 11 ай бұрын
import random as rn def hex_code(): rn_hex_code = "" char_list = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "A", "B", "C", "D", "E", "F"] for i in range(6): rn_hex_code += rn.choice(char_list) return rn_hex_code print(hex_code())
@buildgame7331
@buildgame7331 Жыл бұрын
import tkinter as tk import random def btn(): global r r = random.randint(0,5) win.config(bg=mass[r]) r = random.randint(0,5) win = tk.Tk() a = 100 b = 300 win.geometry("600x600") btn1 = tk.Button(win, text="Кнопка", bg="blue", command=btn) btn1.pack() mass = ["red", "blue", "green", "yellow", "purple", "orange"] print(r) win.mainloop()
@ukra7062
@ukra7062 2 жыл бұрын
А как работать с кнопками в массиве? На пример изменить цвет? Ответишь - подпишусь)
@teyken_ya
@teyken_ya Жыл бұрын
5:26
@huseynovlatif9655
@huseynovlatif9655 Жыл бұрын
у меня лямбда не сработала, ошибки не выдаёт, но команда не работает, при нажатии на кнопку ничего не происходит изменено: забыл лэйбл запаковать
@EdvardKenua
@EdvardKenua 3 жыл бұрын
Я не понимаю одну вещь. Как я используя одну кнопку смогу передать значение другой. То есть как я могу передать state='DISABLED' другой кнопке? Как мне это прописать.?
@EdvardKenua
@EdvardKenua 3 жыл бұрын
@@robertrobert5650 , спасибо
@robertrobert5650
@robertrobert5650 3 жыл бұрын
import tkinter as tk from random import randint c = 0 cc = 0 col = ['#FF0000', '#00FF00', '#FF1493', '#9ACD32', '#20B2AA', '#FFA500', '#FFFF00', '#8A2BE2'] def btnCol(): return col[randint(0, len(col)-1)] def btnOne(): global c c += 1 btn['activebackground'] = btnCol() btn['bg'] = btnCol() btn['text'] = f'Кнопка была нажата {c} раз' win.config(bg=btnCol()) if c == 10: btn2['state'] = tk.DISABLED def btnTwo(): global cc cc += 1 btn2['activebackground'] = btnCol() btn2['bg'] = btnCol() btn2['text'] = f'Кнопка была нажата {cc} раз' win.config(bg=btnCol()) if cc == 10: btn['state'] = tk.DISABLED win = tk.Tk() win.title('Калькулятор') photo = tk.PhotoImage(file = 'Calculator.png') win.iconphoto(False, photo) win.geometry('350x350+430+190') btn = tk.Button(win, text = 'press', command = btnOne) btn2 = tk.Button(win, text = 'press', command = btnTwo) btn.pack() btn2.pack() win.mainloop() win.mainloop() Это мой код, лень писать другой, в кратце здесь все меняет свой цвет. Но ты посмотри на то, как я изменяю состояние второй кнопки, когда первую кнопку я нажал 10 раз, и так же наоборот
@robertrobert5650
@robertrobert5650 3 жыл бұрын
@@EdvardKenua не за что, если возникают какие нибудь вопросы, попробуй погуглить, т.к я сам не понимал как изменять состояние кнопки, перепробовал все, таки не получилось. Потом решил загуглить, и сразу нашел ответ на этот вопрос
@dimassskq
@dimassskq 3 жыл бұрын
Пытаюсь зделать програму по ИМТ в tkinter но функцыя def не получаеться, сделай пожалуйста ролик как зделать такую прогу(с использываниям messagebox )
@residenttt4190
@residenttt4190 Жыл бұрын
ДЗ from tkinter import * def counter(): global count count += 1 button3['text'] = f'Счетчик: {count}' if count % 2 == 1: button1['state'] = DISABLED button2['state'] = DISABLED else: button1['state'] = NORMAL button2['state'] = NORMAL count = 0 root = Tk() root.geometry(f"400x500+100+200") root.title("It's my app!") button1 = Button(root, text = "Hello", command = lambda: Label(root, text = "How're y? ").pack()) button2 = Button(root, text = "Hi", command = lambda: Label(root, text = "Are you going to party? ").pack()) button3 = Button(root, text = f"Счетчик: {count}", command = counter) button1.pack() button2.pack() button3.pack() root.mainloop() А так спасибо за твои труды.
@kr8svi
@kr8svi Жыл бұрын
привет, подскажи, пожалуйста, какое приложение можно использовать, чтобы использовать модуль tkinter?
@Geistik6
@Geistik6 Жыл бұрын
Подскажите пожалуйста как сделать что бы нажималась первая кнопка, а счётчик выводил на 2ю кнопку? Не могу понять((( def add_label(): label = tk.Label(win,text='Щёлк!', bg='red', #цвет фона текста fg='#000000', #цвет шрифта сделала чёрный font=('Arial', 20,'bold'), #поменяла шрифт на эриал, сделала его крупнее и жирным padx=10, #добавила отступы цвета фона шрифта с боков(рамочка) pady=5) label.pack() def counter (): global count count+=1 btn2['text']=f'Танос щёлкнул: {count} раз' count = 0 import tkinter as tk #сокращаем название win =tk.Tk() btn1 = tk.Button(win,text='Щелчок Таноса!', command=add_label ) btn2 = tk.Button(win,text=f'Танос щёлкнул: {count} раз', command=counter ) btn1.pack() #выводим кнопку btn2.pack() win.geometry("500x600+700+400") #Задала размер окна, двумя плюсами я указываю где появляется окно относительно левого угла в пикселях, #можно создавать через переменные win.resizable(False, False) # растягиваемое окно по умолчанию (True,True)первое ширина второе высота win.mainloop()
@hoji1944
@hoji1944 Жыл бұрын
import tkinter as tk def counter_func(): global count count+=1 but_print_counter['text'] = f'count - {count}' def rand_color(): from random import choice as ch a = '0123456789ABCDEF' color = '#'+''.join([ch(a) for i in range(6)]) win['bg'] = color def sizers(): global width,height from random import randrange as rr width = rr(500,1000,150) height = rr(500,1000,150) win.geometry(f'{width}x{height}') def disabled_function(): if but1['state']==tk.NORMAL: but1['state']=tk.DISABLED but2['state']=tk.DISABLED tk.Label(win,text='but1 and but2 is disabled').pack() else: but1['state'] = tk.NORMAL but2['state'] = tk.NORMAL tk.Label(win,text='but1 and but2 is normal').pack() height,width = 500,500 count = 0 win = tk.Tk() win.title('Disabled_App') win.geometry(f'{width}x{height}') win.resizable(False,False) but_disabled = tk.Button(win,text='disabled/normal',command = disabled_function) but_counter= tk.Button(win,text = 'counter',command = counter_func)#то что тебе нужно but_print_counter = tk.Button(win,text=f'count - {count}') but_random_cv = tk.Button(win,text='random color',command = rand_color) but_geoma = tk.Button(win,text='WIDTH x HEIGHT',command=sizers) but1=tk.Button(win,text='But1',command=lambda:tk.Label(win,text='Hi').pack(),state=tk.NORMAL) but2=tk.Button(win,text='But2',command=lambda:tk.Label(win,text='bye').pack(),state=tk.NORMAL) but1.pack() but2.pack() but_disabled.pack() but_geoma.pack() but_random_cv.pack() but_counter.pack() but_print_counter.pack() win.mainloop() вроде это
@Geistik6
@Geistik6 Жыл бұрын
@@hoji1944 Спасибо!!!
@hoji1944
@hoji1944 Жыл бұрын
@@Geistik6 всегда пожалуйста
@user-yo1os1rw4k
@user-yo1os1rw4k Жыл бұрын
дз: from tkinter import * root = Tk() root.geometry('400x400') root.title('proga') def s(): b1['state'] = DISABLED b1 = Button(root, text='1', ) b1.pack() b2 = Button(root, text='2', command=s) b2.pack() root.mainloop()
@HakkeR.1
@HakkeR.1 2 жыл бұрын
Как двигать кнопки если её кудато хочеш вставить
@user-ct4xv3er7q
@user-ct4xv3er7q 2 жыл бұрын
тоже запнулся на моменте сдвига самой кнопки. И так и эдак, пока не получается ))
@ArtemBorysenko-vz5wr
@ArtemBorysenko-vz5wr 2 жыл бұрын
Домашка: def change_state_button(button, state=tk.NORMAL): button["state"] = state def disable_all_buttons(): buttons = [button1, button2, button3, button4] if all(map(lambda button: button["state"] == tk.NORMAL, buttons)): for button in buttons: change_state_button(button, tk.DISABLED) else: for button in buttons: change_state_button(button)
@nektosnext
@nektosnext Жыл бұрын
Homework1 from tkinter import * count = 1 def blocker_code(): global count count += 1 if count % 2 == 0: say_hello_btn['state']= DISABLED else: say_hello_btn['state'] = NORMAL root = Tk() photo = PhotoImage(file='icon.png') root.iconphoto(False, photo) root.title('HOMEWORK1') root.geometry('400x200+300+200') bloker = Button(text='Block', command=blocker_code) say_hello_btn = Button(text='Hello!', command=lambda: print('Hello'), state=NORMAL) bloker.pack() say_hello_btn.pack() root.mainloop() Homework 2 from tkinter import * from random import choice color_list = ['blue', 'red', 'green'] def color(): color_varriabe = choice(color_list) print(color_varriabe) root.config(bg=f'{color_varriabe}') root = Tk() root.title('HOMEWORK2') photo = PhotoImage(file='icon.png') root.iconphoto(False, photo) root.config(bg='black') root.geometry('400x200+300+200') btn = Button(root, text='Change random phon color(blue,green,red)', command=color) btn.pack() root.mainloop()
@vitaliyzelinskiy7266
@vitaliyzelinskiy7266 Жыл бұрын
Вот такое странное рандомное изменение цвета написал def rand_color(): x = f'#{str(hex(randint(10,255)))[2:]}{str(hex(randint(10,255)))[2:]}{str(hex(randint(10,255)))[2:]}' return x win.config(bg=rand_color())
@user-nm5ld9vr3k
@user-nm5ld9vr3k 2 жыл бұрын
btn4['text'] = f'Счетчик: {count}' NameError: name 'btn4' is not defined не могу разобраться в чем проблема помогите пожалуйста
@user-sl2hm7ht8g
@user-sl2hm7ht8g 2 жыл бұрын
def counter(): global count count+=1 btn4['text']=f'Счетчик : { count } ' Должно быть так.. У меня всё запускается.
@fedar3623
@fedar3623 2 жыл бұрын
не распаковал
@flizef6363
@flizef6363 2 жыл бұрын
from tkinter import * import random a= f"#{random.randrange(0x1000000):06x}" def change_bg(): a=f"#{random.randrange(0x1000000):06x}" w['bg']=a w = Tk() button1 = Button(text="hello",command=change_bg) w.geometry("500x500+700+210") button1.pack() w.mainloop() меняет цвет фона при нажатии кнопки
@ni7688
@ni7688 Жыл бұрын
7:39 Я удалил случайно это всё :(
@Chel1k7
@Chel1k7 Жыл бұрын
def color(): color = randint(0, 255) color2 = randint(0, 255) color3 = randint(0, 255) a = hex(color)[2:].ljust(2, '0').upper() b = hex(color2)[2:].ljust(2, '0').upper() c = hex(color3)[2:].ljust(2, '0').upper() d = '#' + a + b + c win.config(bg=d) функция для выбора полного рандома цвета
@R1ko8686
@R1ko8686 Жыл бұрын
Домашнее задание то как делать? Раскрасить кнопки и расположить их на экране это одно , а логика взаимодействия с синтаксисом питона это другое. Голову сломал уже как к гребаному счетчику прикрутить замену state
@R1ko8686
@R1ko8686 Жыл бұрын
Просидел вечер в итоге, прогуглил похожие примеры. Сделал. Помимо синтаксиса и логики, важно еще в каком месте находится блок который ты пишешь в самом коде. Боль
@maximummax5455
@maximummax5455 3 жыл бұрын
Я первый !!!
Как картинку сделать кнопкой и вызвать функцию [Tkinter] / Уроки Python
18:19
Изучаем мир ИТ / Олег Шпагин / Программирование
Рет қаралды 20 М.
Скуфы и альтушки в философии
12:41
Правое полушарие Интроверта
Рет қаралды 177 М.
Уроки Python / Модуль tkinter создание кнопки и вызов функции
7:12
Изучаем мир ИТ / Олег Шпагин / Программирование
Рет қаралды 51 М.
ТОП 5 Ошибок в написании функций Python
12:46
#Изи TKINTER за 5 минут
11:45
Pitonist
Рет қаралды 33 М.
Кратко про Python Tkinter | Как создавать GUI Приложения
11:08
Псевдо Программист
Рет қаралды 53 М.