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

Поділитися
Вставка
  • Опубліковано 25 гру 2024

КОМЕНТАРІ • 75

  • @duck0154
    @duck0154 4 роки тому +79

    Почему так мало актива? Ты единственный, кто на ютубе объясняет всё до мелочей.

    • @govdamikhaylo4183
      @govdamikhaylo4183 4 роки тому +4

      +. Он входит в мою тройку лудших питонистов

    • @romanlapin178
      @romanlapin178 4 роки тому +1

      согласен .несправедливо

  • @vadikLim0nad1k
    @vadikLim0nad1k 2 роки тому +2

    Объяснения лучшие, музыка приятная, голос приятный. Благодаря тебе сделал конвертер! Просто лучший

  • @floki_spb
    @floki_spb 7 місяців тому +1

    С каждым уроком комментов все меньше и меньше. Но я смогу дойти до конца! Огромное спасибо!!!!!

  • @k1ntsug1i
    @k1ntsug1i 5 місяців тому

    Как обычно всё понятно и очень интересно, в ходе работы сама добавляла то, что хотелось =) большое спасибо!

  • @apostolpapa
    @apostolpapa 3 роки тому +5

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

    • @deadtie
      @deadtie Рік тому

      стал программистом?

  • @number1er307
    @number1er307 3 роки тому +1

    Отличный видеоурок, всё очень доходчиво! Код ещё смог немного доработать, получилось шикарно. Автор просто прирождённый педагог, однозначно посмотрю все видеоуроки, а в дальнейшем подумаю о спонсорстве.

  • @evasolana6685
    @evasolana6685 2 роки тому

    Лучший в своём деле! и платные курсы то так не объясняют доходчиво!

  • @zhenyaavdeev
    @zhenyaavdeev Рік тому

    Спасибо за видео.Очень информативно получилось.Вы хорошо и понятно объясняете.

  • @sokhibimamov5990
    @sokhibimamov5990 2 роки тому +1

    ochen ponyatno i krutoy rolik. spasibo

  • @jiijijjijji
    @jiijijjijji 3 роки тому +3

    Великолепные пояснения! Спасибо!

  • @СтаниславЗизевский-ц4ь

    Спасибо за Ваш труд!

  • @tirih_tortured
    @tirih_tortured Рік тому

    круто, что объяснил rgb, в прошлых уроках, а лямбду в этом нет)

  • @sherzodabdumutalibov1384
    @sherzodabdumutalibov1384 4 роки тому

    Спасибо, видео очень помогло мне. Будь активней

  • @Nikandr26
    @Nikandr26 4 роки тому

    Спасибо за хорошие уроки. Продолжай.

  • @Dayplaylist
    @Dayplaylist Рік тому

    Комментарий для поддержки канала😊

  • @kylya9278
    @kylya9278 2 роки тому

    Спасибо за этот туториал!

  • @СашаСтеп-о2у
    @СашаСтеп-о2у Рік тому +1

    Можете на пальцах объяснить: задачка такая есть 2 виджета entry, необходимо сумму данных 2 этих виджетов отобразить на отдельном виджете. Только начал изучать, никак не пойму суть этой связки

  • @gimeron-db
    @gimeron-db 2 роки тому

    Немного помучился с многострочным текстом.
    Для многострочного ввода стоит использовать виджет *Text* . Настройка фона и шрифта у него как у *Label* . При вставке текста через *insert()* лучше вместо индекса "0" использовать константу *tk.END* .
    А чтобы ещё полоса прокрутки была, использовать класс ScrolledText `from tkinter.scrolledtext import ScrolledText`

  • @akramyuldoshev4889
    @akramyuldoshev4889 4 роки тому

    spasiba vam

  • @Ilya-dr5el4sz9f
    @Ilya-dr5el4sz9f 4 роки тому +4

    Артем, спасибо за видео. Будут ли уроки по flask ? Все таки будущее за браузерными формами. (ввод и вывод информации, кнопки), или django.

    • @egoroffchannel
      @egoroffchannel  4 роки тому +4

      да, надо либо фласк либо джанго разобрать

    • @Vladimir-re8xl
      @Vladimir-re8xl 4 роки тому

      @@egoroffchannel ждем

  • @remaksiva
    @remaksiva 2 роки тому

    Благодарю!

  • @kodar_placdarm
    @kodar_placdarm 3 роки тому +1

    Скажи а как увеличить высоту Entry, чтобы сделать подобие окна для ввода текста?

  • @noisy4418
    @noisy4418 3 роки тому +3

    3:10, у меня ругается питон
    AttributeError: 'NoneType' object has no attribute 'get'

    • @noisy4418
      @noisy4418 3 роки тому +2

      Как только написал комент, нашел решение, я убрал после вызова Enrty, .grid и перенес на след.строку

    • @poni3309
      @poni3309 3 роки тому

      @@noisy4418 Спасибо

  • @pain-mn6vn
    @pain-mn6vn 2 роки тому

    cannot use geometry manager pack inside . which already has slaves managed by grid??????

  • @voinaualiaksandr9641
    @voinaualiaksandr9641 9 місяців тому

    Респект за подачу материала! Вопрос такой: Как организовать запись значения value (то что вводим в entry с клавиатуры) в экселевский файл в конкретную ячейку (библиотека openpyxl) ? Это получается строковое значение.

  • @darul-asar381
    @darul-asar381 3 роки тому

    Егор, подскажи как отформатировать код? 8:33 и для чего он нужен?

    • @egoroffchannel
      @egoroffchannel  3 роки тому +2

      Cntl alt L на винде, для соответствия стандартам pep8

    • @darul-asar381
      @darul-asar381 3 роки тому

      @@egoroffchannel Я отформатировал код, теперь у меня при клике кнопки показывает ошибку *delete_Entry
      name.delete(0, 'end')
      AttributeError: 'NoneType' object has no attribute 'delete' *
      до этого все кнопки выполняли функции как надо, кнопка get выводил инфу на консоль, delete удалял...как исправить подскажи пожалуйста

    • @mayurko_5216
      @mayurko_5216 3 роки тому

      @@darul-asar381 Никак, наверно. Писать в две строки. Я решила разобраться, обнаружила, что метод grid превращает любой объект в NoneType, хотя до этого являлись экземплярами какого-то класса. Например:
      label = tk.Label(win, text='Hello')
      print(type(label) # выводит
      А если с методом grid, то уже NoneType
      А так как get() вызывается у переменной-экземпляра класса, то нельзя изменять её тип. Поэтому вызывается ошибка и нужно писать в две строки (тогда сам объект остается неизменным)

  • @ЭрикБружас
    @ЭрикБружас 2 роки тому

    Я правильно понимаю, что во время ввода каких данных в строку entry и после нажатия на кнопку get, данные сохраняются в переменной value?

  • @kriptoinvestorreal
    @kriptoinvestorreal 3 роки тому +2

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

    • @enot812
      @enot812 Рік тому

      надо в кнопке указать команду: tk.Button (win, text = "Ok", command = exit)

  • @zamestaimja
    @zamestaimja 4 роки тому +2

    А вот если name и grid записать не так, как тут, а в одной строчке, то вроде бы всё это же самое должно быть. Но потом в функции name.get() не работает и ругается. Интересно, почему...

    • @egoroffchannel
      @egoroffchannel  4 роки тому

      надо на код взглянуть

    • @ИванИванов-ь3м2к
      @ИванИванов-ь3м2к 4 роки тому +1

      @@egoroffchannel да-да, если написать entry = tk.Entry(win)
      .grid(row=0, column=1), то выравнивается по сетке правильно, а по кнопке ошибка value=entry.get()
      AttributeError: 'NoneType' object has no attribute 'get'. Если как у вас в примере применить сетку к entry отдельной строкой, то всё Ок

    • @inter-348
      @inter-348 3 роки тому

      @@ИванИванов-ь3м2к Всё равно не помогло

    • @sherper
      @sherper 3 роки тому

      @@inter-348 не знаю, мне помогло

  • @jiijijjijji
    @jiijijjijji 3 роки тому

    Супер

  • @Jon-s4s
    @Jon-s4s 2 роки тому

    Здравствуйте!!! Как реализовать в программе столько полей Entry сколько понадобиться и обработать их так что бы не писать скажем 20 функций под каждый Entry. Ну и Entry менялось на Label с выводом того что лежало в Entry и не терялось после завершении программы. Спасибо.

  • @ЭмметтБраун-у3т

    УРА Я СОЗДАЛ НОВОЕ ПРИЛОЖЕНИЕ...ТЕПЕРЬ Я ПРОДАМ ЕГО ЗА МИЛЛИОНЫ И УЕДУ ЖИТЬ ЗА ГРАНИЦУ!

  • @EdwinBeasley1
    @EdwinBeasley1 2 роки тому

    как продолжения или же как отдельная страница но в том же проекте

  • @ЕвгенийГончарук-д1з
    @ЕвгенийГончарук-д1з 3 місяці тому

    здравствуй, при координатах “(row=0,column=1)” - (либо других координатах)
    ввиджет всеравно призапуске отображаеться как в “(row=0,column=0)”

  • @Илья-ю5ь7ж
    @Илья-ю5ь7ж 2 роки тому +1

    Здравствуйте, у меня такая ошибка:lb1 = tk.Label(win,text = 'Введите что-то:', stick = 'w').grid(row = 0, column = 0)
    Traceback (most recent call last):
    _tkinter.TclError: unknown option "-stick"

    • @bagkir718
      @bagkir718 2 роки тому +2

      потому что stick надо вводить в методе grid()

  • @sega6574
    @sega6574 3 роки тому

    спасибо)

  • @6mak6beat6prodhorrorcore2
    @6mak6beat6prodhorrorcore2 3 роки тому

    А как в Nodepad++ "провалиться" в подсказку команды? Просто я занимаюсь в этом блокноте, а не в IDE.

  • @ПОЛИТИКА21века-б1о
    @ПОЛИТИКА21века-б1о 3 роки тому

    Пожалуйста админ обрати внимание надо сделать так чтобы когда нажимаешь кнопку меняется фото я понял про кнопку но вот про фото нет нажимаешь и фотки меняются ( народ подскажите пожалуйста)

  • @kutman.eshenkulov
    @kutman.eshenkulov 4 роки тому

    Расскажи про bind плииз

  • @kirienkoandrew
    @kirienkoandrew 2 роки тому +1

    Артем, у меня вопрос. Почему код в таком исполнении не работает?
    password = tk.Entry(win, show='*').grid(row=1, column=1)
    AttributeError: 'NoneType' object has no attribute 'get'
    а в таком все норм
    password = tk.Entry(win, show='*')
    password.grid(row=1, column=1)
    Суть одна и та же. в первом варианте, в одну строчку метод grid подставляем, а во втором случае, просто к переменной тот же метод. Или не одна и та же суть?

    • @egoroffchannel
      @egoroffchannel  2 роки тому +2

      Потому что метод в первом варианте вернёт значение None после своего выполнения и это значение запишется в переменную password

    • @kirienkoandrew
      @kirienkoandrew 2 роки тому

      @@egoroffchannel спасибо за ответ!

  • @troy4748
    @troy4748 Рік тому

    Когда я использую get() все как у видео то во-первых оно не видит переменную и подчеркивает ее ну и соотвествено не работает. Куда я его не тыкал и как не тыкал ноль реакции. Вот огибка: File "d:\Users\Desktop\Развлечения\Питон\GUI\stydent.py", line 6, in chekEntryStyd
    LS = logStyd.get()
    NameError: name 'logStyd' is not defined

  • @0rarka0
    @0rarka0 Рік тому

    А как entry превратить в число если нужно ещё записать условие?

    • @DEnis_Programm
      @DEnis_Programm Рік тому

      Не очень понимаю ваш вопрос, можно поподробнее

    • @0rarka0
      @0rarka0 Рік тому

      @@DEnis_Programm да я уже разобрался

  • @rerbia
    @rerbia 4 роки тому

    Привет! Я недавно узнал, что все мобильные приложения оказывается написаны в основном на Java. Было бы круто, если бы ты выпустил серию роликов, про создание какой-либо игры для телефона (на Java). Спасибо :)

    • @vihgvafy2855
      @vihgvafy2855 3 роки тому +1

      Жава фигня, с++ лучше.

    • @deadtie
      @deadtie Рік тому

      iq ниже нуля, языки программирования предназначены для разных задач, твоя мать фигня и моя лучше, даже если ее нету.@@vihgvafy2855

  • @samikkts9915
    @samikkts9915 2 роки тому

    а как удалять Виджеты с помощью кнопок?

    • @enot812
      @enot812 Рік тому

      Я не знаю, но использую метод place на x -1000 (tk.Entry (win).place (x = -1000))
      чтобы это понять, нужно сначала x поставить на 0

  • @TT-gk3bz
    @TT-gk3bz 4 роки тому

    тут задание, вообще не могу понять
    Сгенерировать случайным образом список из N элементов (элементы должны лежать в диапазоне от 1 до 10). Вывести список на экран
    не понимаю вообще как составить список из N элементов

    • @ЛюбомирЮкальчук-с1г
      @ЛюбомирЮкальчук-с1г 4 роки тому

      Привет. Решил помочь тебе.
      Если тебя всё ещё интересует твой вопрос, то вот мой вариант решения этого задания:
      from random import randint
      #Вызываем библиотеку random.
      N=int(input())
      #Просим ввести значение N(можно заранее написать в коде, например N=15).
      b=[]
      #Создаём список и сохраняем в переменную b.
      for a in range(N):
      #Создаём цикл, который повториться N раз.
      b=b+[randint(1,10)]
      #Прибавляем в список b список состоящий из рандомного числа в диапазоне(1,10).
      print(b)
      #Выводим список на экран
      Вот и всё. Ответь пж, если прочитал.

  • @Ki-WiLL
    @Ki-WiLL Рік тому

    Я вот хотел сделать так чтобы удаляло только последний цифры и сам нашёл решение!
    value = name.get()
    n = len(value) - 1
    name.delete(n)

  • @EdwinBeasley1
    @EdwinBeasley1 2 роки тому

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

  • @muroma3088
    @muroma3088 2 роки тому

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

  • @AXGroser
    @AXGroser Рік тому

    Бесполезные функции, абсолютно