Уроки по Python. Делаем Paint на Питоне
В этом видео вы узнаете как сделать графический редактор Paint на языке программирования python!
Ставь лайк, если тебе понравилось видео :)
►► Подписывайся на наш канал:kzread.info/dron/SBe.html....
РЕКОМЕНДОВАННЫЕ ВИДЕО ►
----------------------------------------------------
"Уроки по Python. Как сделать простую игру кликер БОМБА на Питоне" - • Уроки по Python. Как с...
"Уроки по Python. Твой первый проект на языке Питон!" - • Уроки по Python. Твой ...
"Уроки по Python. Как сделать калькулятор на языке Питон" - • Уроки по Python. Как с...
Где нас можно найти ►
--------------------------------------
★ Наш сайт: itgen.io
★ Skype: itgen.by (Айтигеник)
★ Вконтакте: itgeniokids
★ Фейсбук: / itgen.io
Популярные плейлисты ►
-------------------------------------------
● Игры на Scratch: • Уроки по Scratch. Как ... .
● Игры и проекты на Python: • Уроки по Python. Твой ... .
● Javascript для начинающих: • Уроки по JavaScript. К... .
● Уроки по Фотошопу: • Уроки по Photoshop. Ри... .
● 3D-моделирование: • Уроки по 3D. Делаем 3D... .
● Советы начинающему видеоблогеру: • Как создать канал на Y... .
Пікірлер: 124
Очень круто! Я начинающий питонист...и уже обожаю этот ЯП! А такие уроки полезны очень! Практика! Спасибо!
2:51 НАШУ МЫШЬ ! Так забавно и мило)
Видео очень хорошее! Подкидывает много крутых идей для продолжения, очень приятный голос ^-^. Для тех, кто пишет, что ничего не объясняется: если так хочется всё узнать, зайдите на любой сайт по питону. Там всё объясняется. Если бы всё объяснялось на ходу, то видео бы шло далеко не 25 минут.
Анастасия, спасибо вам огромное! Ваш видеоролик очень помог в создании программы.
Привет! Почему может не работать увеличение размера кистей? (23,10 мин.) five_btn = Button(text = "5", width = 10, command = lambda: brish_size_change(5)) five_btn.grid(row = 1, column = 3)
Спасибо большое, очень интересный урок!
Спасибо за урок!
в общем видео как для начинающих так себе .многого не объясняется.лучше было бы объяснить строчка за строчкой значение абсолютно каждой команды.каждой запятой. почему так а не по другому.
@gregplittjunior8313
4 жыл бұрын
она не говорила что это для начинающих)
@nihony2687
4 жыл бұрын
@@gregplittjunior8313 не ну хотя бы после написания def можно было обяснить зачем она
@kolbasa6178
4 жыл бұрын
@@nihony2687 она 100 раз сказала что мы создаём ФУНКЦИЮ
@konstantinberejnoy3362
3 жыл бұрын
если все разжевывать, в чем тогда обучение? это как репетитор который за тебя всю домашку делает
спасибо вам большое, у вас очень приятный голос
Интересно ^_^
22.55 зашло словечко))
(При быстром движении мышкой остается расстояние между овалами, если знаете в чем проблема, отпишите)Весь код: from tkinter import * canvas_width = 700 canvas_height = 500 brush_size = 3 color = "black" """Функция для рисования""" def paint(event): global brush_size global color x1 = event.x - brush_size x2 = event.x + brush_size y1 = event.y - brush_size y2 = event.y + brush_size w.create_oval(x1, y1, x2, y2, fill=color, outline=color) """ Функция для изменения размера кисти """ def brush_size_change(new_size): global brush_size brush_size = new_size """Функция для изменения цвета кисти""" def color_change(new_color): global color color = new_color # Изменение цвета """ Создание окна и его название """ root = Tk() root.title("Paint") """ Создание фона окна """ w = Canvas(root, width=canvas_width, height=canvas_height, bg="white") """ Назначение кнопки для рисования """ w.bind("", paint) col = Label(root, text="Цвет кисти") col.grid(row=0, column=0) size = Label(root, text="Размер кисти") size.grid(row=8, column=0) """ Кнопки изменяющие размер кисти. """ ten_btn = Button(text="Размер 10", width=8, command=lambda: brush_size_change(10)) five_btn = Button(text="Размер 5", width=8, command=lambda: brush_size_change(5)) two_btn = Button(text="Размер 3", width=8, command=lambda: brush_size_change(3)) fiveten_btn = Button(text="Размер 15", width=8, command=lambda: brush_size_change(15)) """ Кнопки изменяющие цвет кисти """ black_btn = Button(text="Черный", width=10, command=lambda: color_change("black")) red_btn = Button(text="Красный", width=10, command=lambda: color_change("red")) # Кнопка green_btn = Button(text="Зеленый", width=10, command=lambda: color_change("green")) white_btn = Button(text="Ластик", width=10, command=lambda: color_change("white")) clear_btn = Button(text="Удалить всё", width=10, command=lambda: w.delete("all")) w.grid(row=2, column=0, columnspan=7, padx=5, pady=5, sticky=E + W + S + N) w.columnconfigure(6, weight=1) w.rowconfigure(2, weight=1) """ Расположение кнопок """ two_btn.grid(row=8, column=1) five_btn.grid(row=8, column=2) ten_btn.grid(row=8, column=3) fiveten_btn.grid(row=8, column=4) clear_btn.grid(row=0, column=5) white_btn.grid(row=0, column=4) green_btn.grid(row=0, column=3) black_btn.grid(row=0, column=2) red_btn.grid(row=0, column=1) root.mainloop()
@NeoniumOxide
3 жыл бұрын
Cpasibo
@user-jw5wm1mv9t
3 жыл бұрын
(Недостаток производительности) Не успевает, когда мышь слишком быстро. Мышь движется, пока еще нет проверки.
@qqwince
3 жыл бұрын
спасибо
@user-cd1kj8qr1d
3 жыл бұрын
добавь вместо c.create_oval(x1, y1, x2, y2, fill=color, outline=color) вот это: brush_size = 0.05 color = 'black' points = [] points.append((x1, y1)) if len(points) > 2: c.create_line(points[-3:], fill=color, width=brush_size, smooth=1)
@user-tf1xj6rn1l
Жыл бұрын
@@user-cd1kj8qr1d большое спасибо)
тебе жесткий респект)
Чтоза атрибут sticky у метода grid и что за E W N и S? У меня из-за них все рушится, говорит что нет таких переменных
Здраствуйте, очень понравился ваш гайд, все получилось, но дайте пожалуйста идею как еще создать кнопку для сохранения рисунка в формате PNG. Буду очень благодарен.
@knifeplayxp1546
4 жыл бұрын
для этого нужно качнуть Pillow(PIL) вроде.
@whitehat-it-4096
3 жыл бұрын
@@knifeplayxp1546 да
Здравствуйте, возник такой вопрос. Если начинаю быстро вести мышкой по холсту, то образуются большие пробелы между овалами, связано ,наверно, с низкой частотой обновления метода, но у вас при этом такой проблемы нет. Можете подсказать как решить ее?
@palerite7526
5 жыл бұрын
Та же самая фигня!!!
@user-tf1xj6rn1l
Жыл бұрын
Вместо овалов рисуйте линии
Впервые вижу девушку которая делает уроки по программированию)
@taraskhudiakov4825
4 жыл бұрын
Она включила камеру?
@Mallow577
3 жыл бұрын
а вдруг это мужик
@SashaGun_GD
3 жыл бұрын
@@Mallow577 нет, подросток
@Mallow577
3 жыл бұрын
@@SashaGun_GD нет Женщина
можете сделать видео как на писать mp3 плеер
Thank you
Неплохо было бы добавить кнопку сохранения
*Что не так об'ясните пожалуйста: File "C:\Users\home\Downloads\в.py", line 26, in command=lambda: color_change("Red")) NameError: name 'color_change' is not defined*
@makSyak
6 жыл бұрын
vi navernoe napisali funkciu 'color_change' nepravilno, ili vi voobshe eyo ne pisali
странно, но у меня почему-то кнопки не вывелись и ошибок нет странно, но почему объясните пожалуйста
Спасибо
Здравствуйте, ITGENIO как называется версия Python использаванная в видео ролике.
@user-nh1ny3hq6e
6 жыл бұрын
это PyCharm
@emrc5085
4 жыл бұрын
@@user-nh1ny3hq6e я фотошоп это программист
@tixonochek
3 жыл бұрын
@@emrc5085 Какой я фотошоп?... Это не фотошоп, а среда програмирования Pycharm.
Покажите весь код программы пожалуйста!
Обажаю вашу школу ^_^
Простите но можно было бы использовать Color chooser места кнопак . А так туториал очень очень очень хорошой
@nyrb3058
3 жыл бұрын
Ой забыл можно было ещë сделать размеры через entry
добавьте еще w.bind("", paint), ибо при обычном нажатии на холст, ничего не происходит
@neik2185
2 жыл бұрын
всё равно нечего не происходит
классно
Я конечно не англичанин, но почему пятнадцать теперь "twenty". И кнопки 2, 5, десять, двенадцать и пятнадцать удушили меня, как перфекциониста.
прикольно
Где питон скачать?
а на какой это версии питона?
что это за программа?
а чтобы нажим пера wacom был?)
а какая это версия?
Можете объяснить как можно сохранить нарисованный рисунок правой кнопкой мыши?
@itgenio
6 жыл бұрын
когда нажимаешь правой кнопкой мышки по рисунку, который хочешь сохранить, появляется меню. В нем выбираешь пункт: "Сохранить изображение как.." и уже открывается окошко, в котором выбираешь куда на компьютере сохранить картинку. Все :) Надеюсь, понятно)
@yuliak2191
6 жыл бұрын
у меня не появляется меню
у меня питон 3 и мне выдаёт ошибку я кобы не правельные данные где написанно bg="white" Нa b
Когда быстро рисую то линия прерывается и там просто точки как исправить ?
@user-cd1kj8qr1d
3 жыл бұрын
добавь вместо c.create_oval(x1, y1, x2, y2, fill=color, outline=color) вот это: brush_size = 0.05 color = 'black' points = [] points.append((x1, y1)) if len(points) > 2: c.create_line(points[-3:], fill=color, width=brush_size, smooth=1)
А як зробити зберігання в файл, або навпаки відкриття готового файла?
умница
сними те как сделать глюк с помощью текстового документа пожалуйста
ребята!!! у кого получилось дайте код плиз, а то у меня почему то не рисует ничего, диалоговое окно и место для рисования есть, а не рисует. и кстати, ошибок в коде не выдает!!! либо подскажите что делать:)
есть что проект с канвас, но не паинт?
Чтоб исправить баг когда у вас рисуется точки вместо прямой линии. В самом верху создайте список "points" вот так: points = [] Далее в вашу функцию "paint" в низу функции вставьте этот код: points.append((x1, y1)) if len(points) > 2: w.create_line(points[-3:], fill = color, width = brush_size, smooth = 1) И последние после того как вы забиндили рисование по нажатию кнопки после бинда вставьте: w.bind('', lambda e: points.clear()) P.s вставьте после этого бинда w.bind('', lambda e: points.clear()) И должно сработать
Что делать если пишет NameError: name 'change_color' is not defined?
@maksx1434
4 жыл бұрын
Этой функции нет, либо неправильное имя
хорошое видива
мало пользы от урока. вы пишите часть кода вообще без комментариев. все таки для детей уроки. Например параметры padx, pady, sticky и т.д. Предложение: если на какие-то темы уже говорилось в предыдущих видео то можно давать на них ссылки.
@grand-point6407
5 жыл бұрын
понимаешь для это надо смотреть другие видео и это чуть выше для более профи иногда говорят что просмотрите другие видео
У меня что-то запускаться не хочет _tkinter.TclError: unknown option "-hight".
@evilsalsa627
6 жыл бұрын
heigth
Можно ли как то сохранить нарисованный рисунок???
@itgenio
6 жыл бұрын
правой кнопкой мышки
я в шоке все: что случилось? Я: У меня получилось!!!!!!!! все:ну и что? Я:у меня в жизни не чего не получалась все:эмм поняли
А я сделал на ПКМ квадрат:)
@grishavartanyan5158
3 жыл бұрын
а я на колесико треугольник)
Когда будет Scratch?
@itgenio
7 жыл бұрын
Скоро)
@itgenio
7 жыл бұрын
Завтра-послезавтра)
Мне кажется, или раньше были уроки по чат боту на этом канале
@ivanhesoyam
5 жыл бұрын
вроде да
спасибо за урок. Можно пожалуйста скинуть код сюда
Извините, у меня 38 строка выдаёт ошибку
код кому мб нужен from tkinter import * canvas_widht = 500 canvas_height = 500 brush_size = 3 color = "black" def paint(event): global brush_size global color x1 = event.x - brush_size x2 = event.x + brush_size y1 = event.y - brush_size y2 = event.y + brush_size w.create_oval(x1,y1,x2,y2,fill=color,outline=color) def brish_size_change(new_size): global brush_size brush_size = new_size def color_change(new_color): global color color = new_color root = Tk() root.title("paint") w = Canvas(root, width=canvas_widht,height=canvas_height,bg="white") w.bind("",paint) black_btn = Button(text="black",width=10,bg='black',command=lambda: color_change('black')) red_btn = Button(text="red",width=10,bg='red',command=lambda: color_change('red')) yellow_btn = Button(text="yellow",bg='yellow',width=10,command=lambda: color_change('yellow')) purple_btn = Button(text="purple",bg='purple',width=10,command=lambda: color_change('purple')) brown_btn = Button(text="brown",bg='brown',width=10,command=lambda: color_change('brown')) delete_btn = Button(text="delete",bg='blue',width=15,height=2,command=lambda: w.delete('all')) clear_btn = Button(text="ластик",width=15,command=lambda: color_change('white')) size1_btn = Button(text="standart size",width=10,command=lambda:brish_size_change(3)) size2_btn = Button(text="5 size",width=10,command=lambda:brish_size_change(5)) size3_btn = Button(text="10 size",width=10,command=lambda:brish_size_change(10)) size4_btn = Button(text="15 size",width=10,command=lambda:brish_size_change(15)) size5_btn = Button(text="20 size",width=10,command=lambda:brish_size_change(20)) w.grid(row=2,column=0,columnspan=7,padx=5,pady=5,sticky=E+W+S+N) w.columnconfigure(6,weight=1) w.rowconfigure(2,weight=1) black_btn.grid(row=0,column=1) red_btn.grid(row=0,column=2) yellow_btn.grid(row=0,column=3) purple_btn.grid(row=0,column=4) brown_btn.grid(row=0,column=5) delete_btn.grid(row=0,column=6) size1_btn.grid(row=1,column=1) size2_btn.grid(row=1,column=2) size3_btn.grid(row=1,column=3) size4_btn.grid(row=1,column=4) size5_btn.grid(row=1,column=5) clear_btn.grid(row=1,column=6) root.mainloop()
Хороший урок, но блин когда допускает ошибки при написании по англиский меня аж передергивает)))
Oho ne ploho
полезный урок, без объяснений вы просто сотрясаете воздух, представьте себе что вы пишите на японском для детей понимающих только русский и ничего не объясняете. Вам все понятно, а аудитория сидит и в шоке моргает глазками. в результате как в теории пустого и сложного - получается только пустое. Для аудитории вы вызываете только отрицательные эмоции, вот посмотрел я видео и сделал вывод - вы не умеете преподавать, объясняете плохо, тратите в пустую мое и свое время, в вашу школу я точно не пойду заниматься. Я смотрел некоторые курсы других авторов, и после просмотра я находил их сайты и покупал у них любые вещи которые они продавали - книги, уроки - чтобы отблагодарить за качество подаваемого материала. Ваш ресурс хочется поскорее закрыть и забыть
@user-iq8qp5mt4b
5 жыл бұрын
на вашем месте я бы удалил все видео в этом разделе, это антиреклама
Блін, а сохранить то как.. ?
Как называется этот текстовый редактор
ничего не сработало
Чемто похоже местами на асмр...
привет из 2020
@neik2185
2 жыл бұрын
привет из 2022
как установить tkinter?
@newhupopo
4 жыл бұрын
так он же изначально установлен
@kirillusenko
4 жыл бұрын
...
можно код пж
Пятнадцать пишется fifteen
У меня одной видео мутное в некоторых местах??
А где Scale
В мене вибило ошибку😢
i speak english
Почему этот видос посмотрело так много криворуких и тупых людей,которые не могут скачать idle или бету пайчарма и не понимают,что версия питона должна быть 3.0+
я не начинающий программист, изучал и другие языки, учусь на 3 курсе в вузе, но даже мне некоторые моменты тяжело понять потому что автор ничего толком не объясняет а пишет код и бормочит что-то себе под нос. Дизлайк
@OlegTyulkin
5 жыл бұрын
Так все вам разжуй самим порыться и все проверить слабо?
Лютый говнокод. И такие люди еще кого-то учат...
Зачем эти уродливые кнопки вверху экрана, если есть виджет Menu? Ты что, месяц назад учить Python начала, что ли? Да и какой это графический редактор, если он не может сохранить изображение? М-да, новички лезут в KZread учить остальных, приплыли...
Когда быстро рисую то линия прерывается и там просто точки как исправить ?
@geistesblitz9046
3 жыл бұрын
просто tag_bind срабатывает медлено..
@user-cd1kj8qr1d
3 жыл бұрын
добавь вместо c.create_oval(x1, y1, x2, y2, fill=color, outline=color) вот это: brush_size = 0.05 color = 'black' points = [] points.append((x1, y1)) if len(points) > 2: c.create_line(points[-3:], fill=color, width=brush_size, smooth=1)