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

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ม.ค. 2025

ความคิดเห็น • 197

  • @ИсламРаджабов-о3у
    @ИсламРаджабов-о3у 3 ปีที่แล้ว +52

    Вы лучше чем Хауди, Дударь и Шпагин вместе взятые. Спасибо!

  • @DarjaDivina
    @DarjaDivina 4 ปีที่แล้ว +35

    Спасибо огромное, невозможно оторваться! ваш канал -очень ценная находка!

  • @ivanfilin8432
    @ivanfilin8432 2 ปีที่แล้ว +38

    Сложно новичку, но интересно, особенно когда видишь результаты труда, пусть и повтора за вами

  • @ВатквизДеСад
    @ВатквизДеСад 10 หลายเดือนก่อน

    пропустили момент, когда у функции есть аргументы. спасибо за урок:)

  • @MrGor9
    @MrGor9 2 ปีที่แล้ว +15

    функция для деактивации/активации кнопки:
    def fsatate():
    if btn5['state'] == DISABLED:
    btn5['state'] = NORMAL
    else:
    btn5['state'] = DISABLED
    Т.е. просто меняется при нажатии значение с DISABLED на NORMAL и наоборот

    • @darkhanishere
      @darkhanishere 2 ปีที่แล้ว +1

      Как же я не додумался до этого🤦‍♂

    • @dimkinazvezda
      @dimkinazvezda 2 ปีที่แล้ว +3

      def fsatate():
      if btn4['state'] == tk.DISABLED:
      btn4['state'] = tk.NORMAL
      else:
      btn4['state'] = tk.DISABLED

    • @rizer3604
      @rizer3604 2 ปีที่แล้ว

      Спасибо! Помог

    • @adilkhanarts21
      @adilkhanarts21 2 ปีที่แล้ว

      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
      )

    • @kopych18
      @kopych18 7 หลายเดือนก่อน

      @@adilkhanarts21
      *******
      def state():
      if btn1['state'] == tk.NORMAL:
      btn1['state'] = tk.DISABLED
      else:
      btn1[state] = tk.NORMAL

  • @zamestaimja
    @zamestaimja 4 ปีที่แล้ว +8

    Замечательно. Спасибо большое. Оказалось, что стать спонсором совсем не так страшно. Зато ничего искать не надо, всё разжевывается, только успевай усваивать)))

  • @Adult_mult_studio
    @Adult_mult_studio ปีที่แล้ว +6

    импортировал модуль random и подставил в кнопке в command "
    def color():
    c = ['white','black', 'yellow', 'orange', 'green', 'blue', 'purple']
    win.config(background=random.choice(c)) "

  • @headless_army
    @headless_army 2 ปีที่แล้ว +9

    Добрый день! Курс очень понравился но есть один нюанс: 2:51 передать аргументы в кнопке можно. Достаточно написать функцию а потом: command = lambda: название функции(аргументы). То есть через лямбду функцию вызвать другую функцию и уже в нее передать аргументы. Спасибо еще раз за курс!

    • @Яестьчеловек-ш6ф
      @Яестьчеловек-ш6ф ปีที่แล้ว

      И как же это тебе поможет? Если даже вызывать функцию внутри анонимной функций и узнать к чему равен count и изменить словарь button это тебе не поможет а лишь добавит больше кода и ошибки

    • @Яестьчеловек-ш6ф
      @Яестьчеловек-ш6ф ปีที่แล้ว

      Просто если даже изменить count, то не измениться самое число внутри button и нужно будет и count и button менять

  • @JimSimson245
    @JimSimson245 2 ปีที่แล้ว +2

    Спасибо вам большое, вы единственный кто понятно, полно и без лишней спешки объясняет. Кто хочет чему- то научиться, вам сюда.

  • @kutman.eshenkulov
    @kutman.eshenkulov 4 ปีที่แล้ว +10

    Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!

  • @aleksabramov
    @aleksabramov 3 ปีที่แล้ว +14

    Цвета можно так нарандомить f"#{random.randrange(0x1000000):06x}"

  • @СветланаГорячева-я1ю
    @СветланаГорячева-я1ю 2 ปีที่แล้ว +1

    Очень информативно и помогает дополнительно к основным курсам, более понятно.Спасибо

  • @АндрейАндреев-ю5щ8л
    @АндрейАндреев-ю5щ8л 4 ปีที่แล้ว +3

    шикарные курсы по питону!! Спасибо!

  • @tvmn8
    @tvmn8 2 ปีที่แล้ว

    спасибо за серию видеороликов, единственный канал на котором я смог найти нормальные уроки по этой библиотеке

  • @АленаДмуховская-я5л
    @АленаДмуховская-я5л 2 ปีที่แล้ว +4

    по замене цвета
    def bg_win():
    col=['red', 'green', 'blue','pink', 'white', 'brown']
    win.config(background=random.choice(col))

  • @lipsrow216
    @lipsrow216 4 ปีที่แล้ว +13

    6:47 Разрывная)

  • @Alex_Day_
    @Alex_Day_ 2 ปีที่แล้ว

    Это самое крутое объяснение которое я когда либо находил, спасибо огромное за твое время и труд

  • @Arthur-xx2ek
    @Arthur-xx2ek 10 หลายเดือนก่อน

    Очень хороший урок!!

  • @СтаниславЗизевский-ц4ь
    @СтаниславЗизевский-ц4ь ปีที่แล้ว

    Отличный материал, спасибо!

  • @alexluthier786
    @alexluthier786 2 หลายเดือนก่อน

    Интересное видео, спасибо. Сечас как раз изучаю ткинтер. А вот как обстоит дело с обработкой некоторого достаточного массива кнопок? Экспериментировал с полем кнопок, создаваемых динамически через цикл. И это получается. А вот как узнать, какая кнопка в этом массиве, нажимается? Например, поле из 100 кнопок. Вручную писать функцию обработчик сто раз, это чересчур. Можно как-то иначе, обрабатывать нажатие, более автомаьичесаки?

  • @МаркИвановФЛПЛ-20
    @МаркИвановФЛПЛ-20 2 ปีที่แล้ว +2

    Рандомное изменение цветов по кнопке:
    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])

  • @teymurismaylov2791
    @teymurismaylov2791 29 วันที่ผ่านมา

    Спасибо напишите как можно сделать чтобы текст в лейбл был по правому краю а не по середине

  • @klaxwork1208
    @klaxwork1208 4 หลายเดือนก่อน

    Вопрос: А тут нет каких-то обработчиков событий типа onClick, onButtonDown, onButtonUp, onMove, onMouseOver...?
    Например, пока я веду курсор мыши над кнопкой - что-то происходит...
    И если я хочу при изменении размера окна изменить размер картинки...
    Что-то типа onResize...

  • @mihhail75
    @mihhail75 3 ปีที่แล้ว +3

    Спасибо за урок! Хорошо как всегда!

  • @michaelmushers6368
    @michaelmushers6368 2 ปีที่แล้ว +1

    Спасибо тебе добрый человек. Очень информативно, внятно и доходчиво! 🤝

  • @lookasican
    @lookasican 2 ปีที่แล้ว

    Спасибо! Помоги тебе бог, добрый человек!

  • @FidelGarsia
    @FidelGarsia 2 ปีที่แล้ว +1

    Спасибо огромное! все очень понятно, без лишних слов! 👍

  • @greshniktarantino7281
    @greshniktarantino7281 2 ปีที่แล้ว +1

    Пока смотрю и повторяю, всё так легко, а как начинаю сам.. затупливаю сразу)

  • @Лев-щ1в9ц
    @Лев-щ1в9ц 10 หลายเดือนก่อน

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

  • @evgenyk496
    @evgenyk496 4 ปีที่แล้ว +1

    Ваш урок помог разобраться, лайк!

  • @ВадимАкст-ы1р
    @ВадимАкст-ы1р ปีที่แล้ว

    Шутка на 6 минуте разорвала просто )))))))))))))))

  • @natashasmirnova6088
    @natashasmirnova6088 ปีที่แล้ว

    почему у меня все белое и после окончания строчки тоесть я что то написал и нажал ентер для следующей строчки то что я писал на прошлой строчке удалить нельзя?

  • @izzi-13
    @izzi-13 7 วันที่ผ่านมา

    random_color = f'#{random.randint(0, 255):02x}{random.randint(0, 255):02x}{random.randint(0, 255):02x}'
    win.config(bg=f'{random_color}')
    Чат GPT помог хД. Но команда классная

  • @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 ปีที่แล้ว +1

      узковат у тебя рандом))) лучше через randomint ...
      root.config(bg=f"#{random.randint(1,1000)}") в одну строчку, можно через лямбду даже впаять)

    • @shortvideos9955
      @shortvideos9955 ปีที่แล้ว

      @@AXGroser можно и так)

  • @АлександрВласов-г8т
    @АлександрВласов-г8т 2 ปีที่แล้ว +1

    cveta = ['red','green','blue','black','white']
    def random_color():
    window['bg'] = random.choice(cveta)
    b5=Button(window, text='рандомный цвет фона', command=random_color)
    b5.pack()

  • @ВиталийГорьков-з1ч
    @ВиталийГорьков-з1ч 2 ปีที่แล้ว

    Спасибо Артем
    Все понятно и интересно

  • @pigarCR
    @pigarCR ปีที่แล้ว

    win=tk.Tk()
    win.geometry(f"400x500+10+20")
    win.title("input")
    win.mainloop()

  • @darul-asar381
    @darul-asar381 3 ปีที่แล้ว +4

    Артём спасибо тебе за такой классный контент, продолжай в том же духе. У меня к тебе вопрос, можно ли в функцию которую мы создаём для кнопки, поставить ссылку на файл txt ? Например, кода мы меняли иконку нашего окна, мы ссылались на фото которую ранее мы скачали, можно ли такое сделать для кнопки, что бы нажав на кнопку у нас открылся лейбл с куча текстов? Очень сумбурно объяснил, но надеюсь ты понял суть

  • @ИльяЛагода-ч2м
    @ИльяЛагода-ч2м ปีที่แล้ว +1

    кнопа срабатывает сразу без ожидания

  • @primenzzz4602
    @primenzzz4602 4 ปีที่แล้ว +4

    Здравствуйте. Как, непосредственно, изменить параметры Label через Button?
    Например: при нажатии кнопки - меняется цвет определённого текста.

    • @СергейЮдин-ч2г
      @СергейЮдин-ч2г 3 ปีที่แล้ว +2

      btn['параметр'], например label1['bg'] = 'red

    • @primenzzz4602
      @primenzzz4602 3 ปีที่แล้ว

      @@СергейЮдин-ч2г thank you

  • @яданиил-п9з
    @яданиил-п9з 4 ปีที่แล้ว +3

    А есть двухпозиционные кнопки? Типо переключателя, где есть вкл и выкл?

  • @ВладМн
    @ВладМн 4 ปีที่แล้ว +6

    А как сворачивать окно в трэй и выводить всплывающие окошки из трея, вы узнаете в специальном выпуске, доступном только для спонсоров :)))

    • @Faritech318
      @Faritech318 4 ปีที่แล้ว

      А шо поделать)

  • @なやらはなやなさやたゆ
    @なやらはなやなさやたゆ ปีที่แล้ว

    как сделать так чтоб при нажатии откривалась указаная программа

  • @ДмитрийГубин1
    @ДмитрийГубин1 ปีที่แล้ว

    Как размещать кнопку и менять её размер?

  • @bot_N666
    @bot_N666 ปีที่แล้ว

    Как сделать чтобы после нажатия кнопки окно закрывалось?

    • @maxwell_666
      @maxwell_666 ปีที่แล้ว

      в функцию напиши break

  • @ВалерияМирешко-ь5й
    @ВалерияМирешко-ь5й 4 ปีที่แล้ว +11

    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 3 ปีที่แล้ว +1

      Спасибо большое
      но ты забыла count + = 1

    • @alexanderaksenov9010
      @alexanderaksenov9010 2 ปีที่แล้ว

      if и else можно внутри одного цикла for написать

  • @andreigerasimenko2213
    @andreigerasimenko2213 4 ปีที่แล้ว

    Спасибо за урок!

  • @MrGor9
    @MrGor9 2 ปีที่แล้ว +2

    Функция случайный фон:
    def random_bg():
    color = random.choice(["black",
    "cyan",
    "magenta",
    "red",
    "blue",
    "gray"
    ])
    win.configure(background=color)
    Если сделал через RGB - поделись!)

    • @МарияКартышова
      @МарияКартышова 2 ปีที่แล้ว

      def random_rgb():
      r = lambda: randint(0, 255)
      i = '#%02X%02X%02X' % (r(), r(), r())
      root.config(bg = i)

    • @KizHRo
      @KizHRo 2 ปีที่แล้ว

      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)

  • @kutman.eshenkulov
    @kutman.eshenkulov 4 ปีที่แล้ว +3

    Расскажи подробно про Delate(), Entry и mainloop

  • @shedevr_football
    @shedevr_football ปีที่แล้ว +1

    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 Вот дз), сделал по-своему принципу😁

  • @konstantinkatz4457
    @konstantinkatz4457 4 ปีที่แล้ว +10

    фрагмент для блокировки/разблокировки кнопок пятой кнопкой
    #------------
    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()

    • @Sroondz
      @Sroondz 2 ปีที่แล้ว +1

      Мудро

    • @АнтонНазарук-щ5с
      @АнтонНазарук-щ5с 2 ปีที่แล้ว

      Спасибо, как раз ломал голову над этим

    • @АнтонНазарук-щ5с
      @АнтонНазарук-щ5с 2 ปีที่แล้ว +3

      Единственное что, DISABLED и NORMAL это же не строка
      Это обьект tk.DISABLED и tk.NORMAL
      Не знаю, как у вас, но у меня ваш код не работает.
      Зато работает вот это:
      def locker():
      global btn_wincolor
      btn_wincolor["state"] = tk.DISABLED
      btn_wincolor.pack()
      Это кнопка по нажатию на которую другая кнопка будет блокироваться

  • @lait6621
    @lait6621 3 ปีที่แล้ว +1

    Без глобал можно как то передать переменную в функцию?

  • @sssernestsss6636
    @sssernestsss6636 2 ปีที่แล้ว +2

    Почему именно лямбда? А не обычная функция?

  • @chimpoesh
    @chimpoesh ปีที่แล้ว

    Интересует. Как указать кнопке чтобы при нажатии на неё запускался другой фаил в питоне со своей графической оболочкой (другая оболочка). Грубо говоря по кнопке из одного фаила на другой?

  • @Artem097
    @Artem097 2 ปีที่แล้ว +1

    Дз.Функция случайного цвета:
    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}')

  • @remaksiva
    @remaksiva 2 ปีที่แล้ว

    Спасибо огромное!

  • @Андрюхаслазерки
    @Андрюхаслазерки 3 ปีที่แล้ว

    А можно ли как-то функционал кнопок вынести в другие скрипты и запускать их из этого же скрипта (как в C#).

  • @meylyssa3666
    @meylyssa3666 4 ปีที่แล้ว +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 4 ปีที่แล้ว

      потому что в функции color_set() надо вместо return присваивать это значение для btn1[bg]

    • @meylyssa3666
      @meylyssa3666 4 ปีที่แล้ว

      @@kanycto4kaспасибо!

    • @dmytrokovalenko8492
      @dmytrokovalenko8492 4 ปีที่แล้ว

      @@meylyssa3666 vможете прислать рабочий код? а то я не пойму каким образом можно присвоить значение до btn1[bg]

    • @gxnbzt1142
      @gxnbzt1142 4 ปีที่แล้ว

      @@dmytrokovalenko8492 btn1['bg']
      если нужно поменять фоновый цвет окна то win['bg']

    • @ihontin
      @ihontin 4 ปีที่แล้ว

      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.

  • @yasparkyyy1782
    @yasparkyyy1782 2 ปีที่แล้ว

    Лутший, все понял, спасибо!

  • @ast1694
    @ast1694 2 ปีที่แล้ว

    чтобы функция меняла выбранный параметр для всех кнопок делал список всех кнопок, который обходил в функции, но понимаю что должен быть путь покороче - подскажите как вызвать список с именами всех экземпляров класса Button (btn1, btn2, ...)

  • @abdulloakramov7941
    @abdulloakramov7941 ปีที่แล้ว

    👍👍

  • @ДмитрийШпаковский-п2ю
    @ДмитрийШпаковский-п2ю 3 ปีที่แล้ว +1

    Класс!

  • @arseniymironov2175
    @arseniymironov2175 3 ปีที่แล้ว

    Спасибо большое!)

  • @ЕвгенийПоловинский-в6у
    @ЕвгенийПоловинский-в6у 4 ปีที่แล้ว

    Артем, подскажи пожалуйста, с чем может быть связана проблема - вот такой код не меняет цвет кнопки. Строка распаковки есть. При этом, если таким же образом параметр bg='red' прописываю в функции add_label - Питон создает кнопку с нужным цветом.

    • @ЕвгенийПоловинский-в6у
      @ЕвгенийПоловинский-в6у 4 ปีที่แล้ว

      btn_4 = tk.Button(wind, text=f'счётчик{count}',
      command=counter,
      padx=14,
      pady=16, bg='#E5C6EB')

    • @akzntsvv
      @akzntsvv 3 ปีที่แล้ว +2

      Дай угадаю, ты на MacOS работаешь =)
      Не переживай, у меня такая же тема
      + коммент выше тоже писал

  • @sype1680
    @sype1680 4 ปีที่แล้ว +1

    Что за настройки и тема у тебя в PyCharm?

    • @egoroffchannel
      @egoroffchannel  4 ปีที่แล้ว

      WarmNeon

    • @sype1680
      @sype1680 4 ปีที่แล้ว

      @@egoroffchannel не нашел к сожалению(

    • @sype1680
      @sype1680 4 ปีที่แล้ว

      @Tyr Tirov посмотри пожалуйста, если не трудно

    • @sype1680
      @sype1680 4 ปีที่แล้ว

      @Tyr Tirov Спасибо большое

  • @EdvardKenua
    @EdvardKenua 4 ปีที่แล้ว +1

    Я не понимаю одну вещь. Как я используя одну кнопку смогу передать значение другой. То есть как я могу передать state='DISABLED' другой кнопке?
    Как мне это прописать.?

    • @EdvardKenua
      @EdvardKenua 4 ปีที่แล้ว

      @@robertrobert5650 , спасибо

    • @robertrobert5650
      @robertrobert5650 4 ปีที่แล้ว +2

      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 4 ปีที่แล้ว

      @@EdvardKenua не за что, если возникают какие нибудь вопросы, попробуй погуглить, т.к я сам не понимал как изменять состояние кнопки, перепробовал все, таки не получилось. Потом решил загуглить, и сразу нашел ответ на этот вопрос

  • @БобЗлобный
    @БобЗлобный 3 ปีที่แล้ว +1

    подскажите что обозначает " f " ? В win.geometry(f"400x500+100+200")

    • @KrabDefense
      @KrabDefense 3 ปีที่แล้ว +1

      это метод форматирования строк - f строки
      a = "python"
      b = "круто"
      # заключите переменную в {}, чтобы отобразить ее значение в выводе
      print(f"{a} это {b}.")
      вывод: python это круто.
      он забыл убрать с прошлого урока, где подставлял вместо размеров переменные с ними

    • @БобЗлобный
      @БобЗлобный 3 ปีที่แล้ว +1

      @@KrabDefense ничего не понял, но спасибо за ответ. А можно ссылку на тот урок, а то видео много еще ни все посмотрел.

    • @KrabDefense
      @KrabDefense 3 ปีที่แล้ว

      @@БобЗлобный он там просто подставил подставил и ничего не говорил, просто забей "что такое f строки" тебе сразу выдаст :)

  • @moscowtrainspotter501
    @moscowtrainspotter501 2 ปีที่แล้ว +1

    Функция для изменения состояния всех остальных кнопок:
    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
    )

  • @Sergey-cz7ym
    @Sergey-cz7ym 2 ปีที่แล้ว

    нажимая на btn3 мы добавляем каждый раз новые label. А как можно изменить текст новых label или одной из новых (добавленных) label?

  • @takitak3861
    @takitak3861 3 ปีที่แล้ว

    Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!Спасибо за урок!

  • @W_Rex_P
    @W_Rex_P 2 ปีที่แล้ว

    Большое вам спасибо😀😁🤪

  • @HakkeR.1
    @HakkeR.1 2 ปีที่แล้ว

    Как двигать кнопки если её кудато хочеш вставить

    • @ДеньгизаПользу
      @ДеньгизаПользу 2 ปีที่แล้ว

      тоже запнулся на моменте сдвига самой кнопки. И так и эдак, пока не получается ))

  • @user-dd6ru4wu5r
    @user-dd6ru4wu5r ปีที่แล้ว

    Вариант выполненного ДЗ:
    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()

  • @тейкен
    @тейкен 2 ปีที่แล้ว +1

    4:02 для себя

  • @locogoone
    @locogoone ปีที่แล้ว

    Ничего не работает, всё через пятую точку

    • @pulyavglazitiunitaz
      @pulyavglazitiunitaz 5 หลายเดือนก่อน

      Ты просто написал с 5 точкой

  • @lanaso2761
    @lanaso2761 2 ปีที่แล้ว

    автору огромное спасибо за видео! вот задачка с рандомным фоновым цветом:
    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 ปีที่แล้ว

      харош. я чуть больше кода сделал. через if))

  • @alexeyka1168
    @alexeyka1168 4 วันที่ผ่านมา

    д/з(мой вариант):
    import random
    import tkinter as tk
    def rand_color():
    global new_color
    list_ = ['White', 'Red', 'Yellow', 'Orange', 'Green', 'Blue', 'Purple', 'Pink', 'Brown', 'Grey']
    index = random.randint(0, 9)
    new_color = list_[index]
    win.config(bg=new_color)
    button_1.config(bg=new_color)
    win = tk.Tk()
    win.geometry('1000x600+220+80')
    win.title('Random.BG_color')
    button_1 = tk.Button(win,
    text='Change Color',
    command=rand_color)
    button_1.place(x=460, y=255)
    win.mainloop()

  • @huseynovlatif9655
    @huseynovlatif9655 2 ปีที่แล้ว +1

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

  • @fgotik1990
    @fgotik1990 3 ปีที่แล้ว

    Лучший

  • @jiijijjijji
    @jiijijjijji 3 ปีที่แล้ว

    Определенно.

  • @vasbkamarxil1260
    @vasbkamarxil1260 2 ปีที่แล้ว

    SUPER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @dimassskq
    @dimassskq 3 ปีที่แล้ว +1

    Пытаюсь зделать програму по ИМТ в tkinter но функцыя def не получаеться, сделай пожалуйста ролик как зделать такую прогу(с использываниям messagebox )

  • @тейкен
    @тейкен 2 ปีที่แล้ว +1

    5:26

  • @anel9350
    @anel9350 ปีที่แล้ว

    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()

  • @ukra7062
    @ukra7062 2 ปีที่แล้ว

    А как работать с кнопками в массиве?
    На пример изменить цвет?
    Ответишь - подпишусь)

  • @Яхочуролтон
    @Яхочуролтон 2 ปีที่แล้ว

    дз:
    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()

  • @MettalicPenni
    @MettalicPenni 4 ปีที่แล้ว +2

    Я ОБОЖАЮ ТЕБЯ!!!
    Я ТОЖЕ ОБ ЭТОМ СНИМАЮ!!
    НО МЕНЯ НИКТО НЕ СМОТРЕТ....
    Посмотрите. ХОТЯБЫ

    • @СергейЮдин-ч2г
      @СергейЮдин-ч2г 3 ปีที่แล้ว

      Посмотрел. Но лучше бы не смотрел... Чувак, ты открываешь страницу, чтобы зачитать оттуда информацию, но даже это сделать не можешь.

  • @nurikzhubatkan489
    @nurikzhubatkan489 ปีที่แล้ว

    😁

  • @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?

  • @p1nkyun1corn
    @p1nkyun1corn 4 ปีที่แล้ว +4

    Блин я умнею

    • @TordMattias
      @TordMattias 4 ปีที่แล้ว

      Зачем это писать?

  • @простоМалышОва
    @простоМалышОва 4 ปีที่แล้ว

    Классно

  • @MaksimShymanouski
    @MaksimShymanouski 3 ปีที่แล้ว

    btn4['text'] = f'Счетчик: {count}'
    NameError: name 'btn4' is not defined
    не могу разобраться в чем проблема
    помогите пожалуйста

    • @СергейИванов-ж8э9я
      @СергейИванов-ж8э9я 2 ปีที่แล้ว

      def counter():
      global count
      count+=1
      btn4['text']=f'Счетчик : { count } '
      Должно быть так.. У меня всё запускается.

    • @fedar3623
      @fedar3623 2 ปีที่แล้ว

      не распаковал

  • @Geistik6
    @Geistik6 2 ปีที่แล้ว

    Подскажите пожалуйста как сделать что бы нажималась первая кнопка, а счётчик выводил на 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 2 ปีที่แล้ว +1

      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 2 ปีที่แล้ว

      @@hoji1944 Спасибо!!!

    • @hoji1944
      @hoji1944 2 ปีที่แล้ว

      @@Geistik6 всегда пожалуйста

  • @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()
    меняет цвет фона при нажатии кнопки

  • @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)
    функция для выбора полного рандома цвета

  • @tranzistor4093
    @tranzistor4093 2 ปีที่แล้ว

    Никогда мне так подробно все не разжовывали...

  • @mrmsaid7617
    @mrmsaid7617 ปีที่แล้ว

    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()

  • @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())

  • @R1ko8686
    @R1ko8686 2 ปีที่แล้ว

    Домашнее задание то как делать? Раскрасить кнопки и расположить их на экране это одно , а логика взаимодействия с синтаксисом питона это другое. Голову сломал уже как к гребаному счетчику прикрутить замену state

    • @R1ko8686
      @R1ko8686 2 ปีที่แล้ว +1

      Просидел вечер в итоге, прогуглил похожие примеры. Сделал. Помимо синтаксиса и логики, важно еще в каком месте находится блок который ты пишешь в самом коде. Боль