Отличный видеоурок, всё очень доходчиво! Код ещё смог немного доработать, получилось шикарно. Автор просто прирождённый педагог, однозначно посмотрю все видеоуроки, а в дальнейшем подумаю о спонсорстве.
Можете на пальцах объяснить: задачка такая есть 2 виджета entry, необходимо сумму данных 2 этих виджетов отобразить на отдельном виджете. Только начал изучать, никак не пойму суть этой связки
Немного помучился с многострочным текстом. Для многострочного ввода стоит использовать виджет *Text* . Настройка фона и шрифта у него как у *Label* . При вставке текста через *insert()* лучше вместо индекса "0" использовать константу *tk.END* . А чтобы ещё полоса прокрутки была, использовать класс ScrolledText `from tkinter.scrolledtext import ScrolledText`
Респект за подачу материала! Вопрос такой: Как организовать запись значения value (то что вводим в entry с клавиатуры) в экселевский файл в конкретную ячейку (библиотека openpyxl) ? Это получается строковое значение.
@@egoroffchannel Я отформатировал код, теперь у меня при клике кнопки показывает ошибку *delete_Entry name.delete(0, 'end') AttributeError: 'NoneType' object has no attribute 'delete' * до этого все кнопки выполняли функции как надо, кнопка get выводил инфу на консоль, delete удалял...как исправить подскажи пожалуйста
@@darul-asar381 Никак, наверно. Писать в две строки. Я решила разобраться, обнаружила, что метод grid превращает любой объект в NoneType, хотя до этого являлись экземплярами какого-то класса. Например: label = tk.Label(win, text='Hello') print(type(label) # выводит А если с методом grid, то уже NoneType А так как get() вызывается у переменной-экземпляра класса, то нельзя изменять её тип. Поэтому вызывается ошибка и нужно писать в две строки (тогда сам объект остается неизменным)
А вот если name и grid записать не так, как тут, а в одной строчке, то вроде бы всё это же самое должно быть. Но потом в функции name.get() не работает и ругается. Интересно, почему...
@@egoroffchannel да-да, если написать entry = tk.Entry(win) .grid(row=0, column=1), то выравнивается по сетке правильно, а по кнопке ошибка value=entry.get() AttributeError: 'NoneType' object has no attribute 'get'. Если как у вас в примере применить сетку к entry отдельной строкой, то всё Ок
Здравствуйте!!! Как реализовать в программе столько полей Entry сколько понадобиться и обработать их так что бы не писать скажем 20 функций под каждый Entry. Ну и Entry менялось на Label с выводом того что лежало в Entry и не терялось после завершении программы. Спасибо.
Пожалуйста админ обрати внимание надо сделать так чтобы когда нажимаешь кнопку меняется фото я понял про кнопку но вот про фото нет нажимаешь и фотки меняются ( народ подскажите пожалуйста)
Артем, у меня вопрос. Почему код в таком исполнении не работает? 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 подставляем, а во втором случае, просто к переменной тот же метод. Или не одна и та же суть?
Когда я использую get() все как у видео то во-первых оно не видит переменную и подчеркивает ее ну и соотвествено не работает. Куда я его не тыкал и как не тыкал ноль реакции. Вот огибка: File "d:\Users\Desktop\Развлечения\Питон\GUI\stydent.py", line 6, in chekEntryStyd LS = logStyd.get() NameError: name 'logStyd' is not defined
Привет! Я недавно узнал, что все мобильные приложения оказывается написаны в основном на Java. Было бы круто, если бы ты выпустил серию роликов, про создание какой-либо игры для телефона (на Java). Спасибо :)
тут задание, вообще не могу понять Сгенерировать случайным образом список из N элементов (элементы должны лежать в диапазоне от 1 до 10). Вывести список на экран не понимаю вообще как составить список из N элементов
Привет. Решил помочь тебе. Если тебя всё ещё интересует твой вопрос, то вот мой вариант решения этого задания: 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) #Выводим список на экран Вот и всё. Ответь пж, если прочитал.
С нового видео мне приходится создавать новый проект, так как продолжение старого ни возможно, ошибки и прочие, как сделать так что бы в проекте в одном ни приходилось лапатить всё по новой, страницы или листы какие ни знаю, главное что всё то что я делаю сохранялось в одном проекте
Почему так мало актива? Ты единственный, кто на ютубе объясняет всё до мелочей.
+. Он входит в мою тройку лудших питонистов
согласен .несправедливо
Объяснения лучшие, музыка приятная, голос приятный. Благодаря тебе сделал конвертер! Просто лучший
С каждым уроком комментов все меньше и меньше. Но я смогу дойти до конца! Огромное спасибо!!!!!
Как обычно всё понятно и очень интересно, в ходе работы сама добавляла то, что хотелось =) большое спасибо!
Спасибо вам большое! Я реально за короткие сроки научился программировать на языке Python. Огромное вам спасибо, продолжайте свою деятельность дальше!
стал программистом?
Отличный видеоурок, всё очень доходчиво! Код ещё смог немного доработать, получилось шикарно. Автор просто прирождённый педагог, однозначно посмотрю все видеоуроки, а в дальнейшем подумаю о спонсорстве.
Лучший в своём деле! и платные курсы то так не объясняют доходчиво!
Спасибо за видео.Очень информативно получилось.Вы хорошо и понятно объясняете.
ochen ponyatno i krutoy rolik. spasibo
Великолепные пояснения! Спасибо!
Спасибо за Ваш труд!
круто, что объяснил rgb, в прошлых уроках, а лямбду в этом нет)
Спасибо, видео очень помогло мне. Будь активней
Спасибо за хорошие уроки. Продолжай.
Комментарий для поддержки канала😊
Спасибо за этот туториал!
Можете на пальцах объяснить: задачка такая есть 2 виджета entry, необходимо сумму данных 2 этих виджетов отобразить на отдельном виджете. Только начал изучать, никак не пойму суть этой связки
Немного помучился с многострочным текстом.
Для многострочного ввода стоит использовать виджет *Text* . Настройка фона и шрифта у него как у *Label* . При вставке текста через *insert()* лучше вместо индекса "0" использовать константу *tk.END* .
А чтобы ещё полоса прокрутки была, использовать класс ScrolledText `from tkinter.scrolledtext import ScrolledText`
spasiba vam
Артем, спасибо за видео. Будут ли уроки по flask ? Все таки будущее за браузерными формами. (ввод и вывод информации, кнопки), или django.
да, надо либо фласк либо джанго разобрать
@@egoroffchannel ждем
Благодарю!
Скажи а как увеличить высоту Entry, чтобы сделать подобие окна для ввода текста?
3:10, у меня ругается питон
AttributeError: 'NoneType' object has no attribute 'get'
Как только написал комент, нашел решение, я убрал после вызова Enrty, .grid и перенес на след.строку
@@noisy4418 Спасибо
cannot use geometry manager pack inside . which already has slaves managed by grid??????
Респект за подачу материала! Вопрос такой: Как организовать запись значения value (то что вводим в entry с клавиатуры) в экселевский файл в конкретную ячейку (библиотека openpyxl) ? Это получается строковое значение.
Егор, подскажи как отформатировать код? 8:33 и для чего он нужен?
Cntl alt L на винде, для соответствия стандартам pep8
@@egoroffchannel Я отформатировал код, теперь у меня при клике кнопки показывает ошибку *delete_Entry
name.delete(0, 'end')
AttributeError: 'NoneType' object has no attribute 'delete' *
до этого все кнопки выполняли функции как надо, кнопка get выводил инфу на консоль, delete удалял...как исправить подскажи пожалуйста
@@darul-asar381 Никак, наверно. Писать в две строки. Я решила разобраться, обнаружила, что метод grid превращает любой объект в NoneType, хотя до этого являлись экземплярами какого-то класса. Например:
label = tk.Label(win, text='Hello')
print(type(label) # выводит
А если с методом grid, то уже NoneType
А так как get() вызывается у переменной-экземпляра класса, то нельзя изменять её тип. Поэтому вызывается ошибка и нужно писать в две строки (тогда сам объект остается неизменным)
Я правильно понимаю, что во время ввода каких данных в строку entry и после нажатия на кнопку get, данные сохраняются в переменной value?
а как сделать так что бы при вводе пароля и когда нажато отправить если данные верны то закрыть все окна?
надо в кнопке указать команду: tk.Button (win, text = "Ok", command = exit)
А вот если name и grid записать не так, как тут, а в одной строчке, то вроде бы всё это же самое должно быть. Но потом в функции name.get() не работает и ругается. Интересно, почему...
надо на код взглянуть
@@egoroffchannel да-да, если написать entry = tk.Entry(win)
.grid(row=0, column=1), то выравнивается по сетке правильно, а по кнопке ошибка value=entry.get()
AttributeError: 'NoneType' object has no attribute 'get'. Если как у вас в примере применить сетку к entry отдельной строкой, то всё Ок
@@ИванИванов-ь3м2к Всё равно не помогло
@@inter-348 не знаю, мне помогло
Супер
Здравствуйте!!! Как реализовать в программе столько полей Entry сколько понадобиться и обработать их так что бы не писать скажем 20 функций под каждый Entry. Ну и Entry менялось на Label с выводом того что лежало в Entry и не терялось после завершении программы. Спасибо.
УРА Я СОЗДАЛ НОВОЕ ПРИЛОЖЕНИЕ...ТЕПЕРЬ Я ПРОДАМ ЕГО ЗА МИЛЛИОНЫ И УЕДУ ЖИТЬ ЗА ГРАНИЦУ!
как продолжения или же как отдельная страница но в том же проекте
здравствуй, при координатах “(row=0,column=1)” - (либо других координатах)
ввиджет всеравно призапуске отображаеться как в “(row=0,column=0)”
Здравствуйте, у меня такая ошибка:lb1 = tk.Label(win,text = 'Введите что-то:', stick = 'w').grid(row = 0, column = 0)
Traceback (most recent call last):
_tkinter.TclError: unknown option "-stick"
потому что stick надо вводить в методе grid()
спасибо)
А как в Nodepad++ "провалиться" в подсказку команды? Просто я занимаюсь в этом блокноте, а не в IDE.
Пожалуйста админ обрати внимание надо сделать так чтобы когда нажимаешь кнопку меняется фото я понял про кнопку но вот про фото нет нажимаешь и фотки меняются ( народ подскажите пожалуйста)
Расскажи про bind плииз
Артем, у меня вопрос. Почему код в таком исполнении не работает?
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 подставляем, а во втором случае, просто к переменной тот же метод. Или не одна и та же суть?
Потому что метод в первом варианте вернёт значение None после своего выполнения и это значение запишется в переменную password
@@egoroffchannel спасибо за ответ!
Когда я использую get() все как у видео то во-первых оно не видит переменную и подчеркивает ее ну и соотвествено не работает. Куда я его не тыкал и как не тыкал ноль реакции. Вот огибка: File "d:\Users\Desktop\Развлечения\Питон\GUI\stydent.py", line 6, in chekEntryStyd
LS = logStyd.get()
NameError: name 'logStyd' is not defined
А как entry превратить в число если нужно ещё записать условие?
Не очень понимаю ваш вопрос, можно поподробнее
@@DEnis_Programm да я уже разобрался
Привет! Я недавно узнал, что все мобильные приложения оказывается написаны в основном на Java. Было бы круто, если бы ты выпустил серию роликов, про создание какой-либо игры для телефона (на Java). Спасибо :)
Жава фигня, с++ лучше.
iq ниже нуля, языки программирования предназначены для разных задач, твоя мать фигня и моя лучше, даже если ее нету.@@vihgvafy2855
а как удалять Виджеты с помощью кнопок?
Я не знаю, но использую метод place на x -1000 (tk.Entry (win).place (x = -1000))
чтобы это понять, нужно сначала x поставить на 0
тут задание, вообще не могу понять
Сгенерировать случайным образом список из N элементов (элементы должны лежать в диапазоне от 1 до 10). Вывести список на экран
не понимаю вообще как составить список из N элементов
Привет. Решил помочь тебе.
Если тебя всё ещё интересует твой вопрос, то вот мой вариант решения этого задания:
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)
#Выводим список на экран
Вот и всё. Ответь пж, если прочитал.
Я вот хотел сделать так чтобы удаляло только последний цифры и сам нашёл решение!
value = name.get()
n = len(value) - 1
name.delete(n)
С нового видео мне приходится создавать новый проект, так как продолжение старого ни возможно, ошибки и прочие, как сделать так что бы в проекте в одном ни приходилось лапатить всё по новой, страницы или листы какие ни знаю, главное что всё то что я делаю сохранялось в одном проекте
как можно так безобразно оформлять программы? тем более в учебном курсе?
Бесполезные функции, абсолютно