background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5"

input logo icon
Теги видео
|

Теги видео

python
python tutorial
python gui
learn python
IT
development
education
tutorial
course
питон
обучение
курс
для новичков
новичок
начинающий
списки
словари
массивы
данные
программирование
кортежи
tuple
list
ресурс
time
loop
функции
параметры
functions
params
args
object
class
объект
класс
ООП
экземпляр класса
разметка
приложение
desktop
tkinter
окно
модуль
библиотека
база данных
treeview
scroll
combobox
datepicker
форма
десктоп
python уроки
как стать программистом
SweetCoder
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:02
продолжаем изучать модуль т.к. интер в
00:00:04
python и сегодня мы сделаем наше
00:00:06
приложение интерактивным то есть мы
00:00:07
будем не только выводить информацию ну и
00:00:09
получать ее от пользователя прямо сейчас
00:00:12
подпишись на канал и погнали
00:00:15
[музыка]
00:00:21
согласно нашему плану зеленый блок
00:00:23
должен быть формой и заполняя которую мы
00:00:25
будем вносить новые записи о наших
00:00:27
расходах в базу данных
00:00:29
давай для начала разметим нашу форму
00:00:31
текстовыми метками а затем наполним ее
00:00:34
активными элементами нам нужны три метки
00:00:37
озаглавленной уще и поля чужин expand ой
00:00:40
там эндер mount и интер дейт и три метки
00:00:43
которые будут имитировать собственно
00:00:45
поля ввода выпадающий список статей
00:00:47
расходов текстовое поле для ввода суммы
00:00:50
платежа и поле для выбора даты а еще нам
00:00:53
нужна кнопка чтобы совместить нашу форму
00:00:56
пусть пока что ее тоже заменит текстовая
00:00:59
метка располагать виджеты будем с
00:01:01
помощью упаковщика grid в нулевом
00:01:04
столбце мы разместим описание полей а в
00:01:06
первом собственно поля кнопку разместим
00:01:09
посередине объединив две ячейки в
00:01:12
третьей строке смотрим неплохо используя
00:01:17
параметры стеки и под x под y по ровняем
00:01:20
их расположение для пущей красивости
00:01:22
готова по традиции пойдем от простого к
00:01:26
сложному добавим вместо соответствующие метки
00:01:28
поле для ввода суммы платежа для этого
00:01:31
используется виджет из модуля тити кей
00:01:33
анджей смотрим ну вот как бы и все
00:01:37
теперь пользователь может сюда выходить
00:01:40
необходимую сумму хоть целое число хоть
00:01:43
дробное даже текст может вводить
00:01:45
конечно же это будет не актуальная
00:01:48
информация и нам нужно будет позже
00:01:50
исключить такую возможность на этапе
00:01:52
валидации но сейчас давай
00:01:54
сконцентрируемся на fontaine de
00:01:55
а еще принято числовую информацию
00:01:58
располагать с правой стороны поля это
00:02:01
достигается с помощью параметра justify
00:02:03
далее добавим кнопку в нашу форму тут
00:02:07
тоже все предельно очевидно просто
00:02:09
меняем имя класса лейбл набатом текст
00:02:13
пусть остается такой же вот у нас уже
00:02:15
есть кнопочка и она даже нажимается
00:02:17
дальше выпадающий список с нашими
00:02:21
статьями расходов за такой элемент
00:02:23
отвечает класс combobox
00:02:25
текст нам не нужен смотрим
00:02:29
хорошо выпадающий список есть но из него
00:02:31
ничего не выпадает для этого нам нужно
00:02:34
передать какие-то значения для начала
00:02:36
создадим обыкновенный список с
00:02:38
рандомными значениями и присвоим его
00:02:40
параметру целью нашего combobox а
00:02:43
смотрим вот они наши цифры конечно же
00:02:48
чуть позже мы будем подставлять сюда
00:02:49
реальные данные из нашей базы
00:02:51
но пока пусть будет в таком виде
00:02:53
переходим к выбору даты платежа
00:02:56
конечно же можно было бы воспользоваться
00:02:58
стандартным полем ввода м3 но в таком
00:03:00
случае нам нужно было бы контролировать
00:03:02
однообразие формата вводимой даты потому
00:03:06
что кто-то из пользователей привык к
00:03:07
одному формату
00:03:08
а другой к совершенно другому удобнее и
00:03:12
выгоднее предоставить пользователю
00:03:13
универсальный интерфейс дата picker для
00:03:17
начала нам нужно установить в наше
00:03:18
виртуальное окружение модуль текей
00:03:20
calendar и само собой разумеется
00:03:22
импортировать его в наше приложение но
00:03:25
не весь а только классы дейт entry и
00:03:28
calendar и вместо метки создаем виджет
00:03:32
дым 3 запускаем вот он и даже
00:03:37
отображается сегодняшняя дата но почему
00:03:39
то при нажатии на него ничего не
00:03:41
происходит
00:03:42
честно говоря я довольно долго
00:03:43
промучился с этой проблемой и даже уже
00:03:45
начал сомневаться в своих умственных
00:03:47
способностях но потом выяснилось что
00:03:49
такое поведение повторяется у очень
00:03:51
многих юзеров mac os лечится с помощью
00:03:53
принудительного запрета отмены
00:03:55
перенаправления чтобы это не значило
00:03:58
просто добавляем вот такую строку в код
00:04:01
теперь все открывается и выпадает и даже
00:04:05
можно выбрать какой-то день в
00:04:07
зависимости от цветового оформления твои
00:04:08
операционные системы этот виджет может
00:04:10
выглядеть немного по-другому у меня вот
00:04:13
так не очень читабельно поигравшись с
00:04:16
цветами пришел к вот такому виду полное
00:04:19
описание всех настраиваемых свойств
00:04:21
можно найти в официальной документации
00:04:22
модуль тики и интер и добавим еще маску
00:04:26
отображения даты с помощью параметра
00:04:27
дэйв паттерн смотрим вот теперь все
00:04:32
хорошо давай же теперь
00:04:33
оживим нашу форму
00:04:35
естественно основным событием будет
00:04:37
являться нажатии на кнопку сабмит как мы
00:04:40
уже выяснили в прошлом видео на примере
00:04:42
полосы прокрутки обработчик события
00:04:45
добавляется для виджета с помощью
00:04:46
параметра команд в нашем случае это
00:04:50
будет функция с незатейливым названием
00:04:51
forums admit без скобок внимательно и
00:04:55
давай определим эту функцию и так
00:04:59
сначала просто выведем на экран какую-то
00:05:01
строку чтобы убедиться что события
00:05:03
срабатывает запускаем жмем все работает
00:05:08
отлично чтобы добавить запись о новых
00:05:10
расходах нам нужно выполнить запрос на
00:05:12
вставку новых данных на всякий случай
00:05:14
оставлю ссылку в описании и в подсказке
00:05:17
чтобы ты мог освежить в памяти как это
00:05:19
делается если забыл чтобы подставить
00:05:22
актуальные данные в строку запроса
00:05:24
именно в том порядке в котором они
00:05:26
указаны в запросе нам нужно их собрать с
00:05:29
формы делается это с помощью обращение к
00:05:32
виджету по имени переменной и с помощью
00:05:34
метода get по-моему очень логично сумму
00:05:38
мы получаем из поля ef mount дату
00:05:41
индификатор статьи расходов и
00:05:43
соответствующих полей
00:05:44
пока что ничего не будем записывать в
00:05:47
базу просто посмотрим что нам удалось
00:05:49
собрать и заодно посмотрим на типы
00:05:51
собранных данных
00:05:52
да чуть не забыл выпадающем списке со
00:05:55
статьями расходов у нас же не актуальные
00:05:57
данные давай их актуализирует опишем в
00:06:00
хелпе ри нашего приложения функцию для
00:06:02
получения имен всех статей расходов
00:06:05
выбираем из таблицы expenses
00:06:07
имена всех категорий и в вильнюс нашего
00:06:10
combobox передадим результат этой
00:06:12
функции f get all expenses
00:06:15
anthems запускаем выбираем заполняем
00:06:20
дату пока оставим нынешнюю жмем так на
00:06:25
первый взгляд всё чётенько но на самом
00:06:27
деле мы получили три строки
00:06:28
а нам нужны число типа флот дата формате
00:06:32
таймс темп и идентификатор статьи
00:06:35
расходов в виде числа типа пинт который
00:06:38
соответствует имени нужной нам статьи с первыми двумя
00:06:41
переменами вроде как все понятно
00:06:42
переводим сумму формат флот дату виде
00:06:45
таймс темп получаем с помощью описанной
00:06:47
в нашем helps
00:06:48
и специальной функции get таймс time
00:06:51
from string
00:06:52
проверим уже значительно лучше флот и
00:06:56
число типа int
00:06:57
а как быть с категорией напомню что нам
00:07:01
нужно не название категории а ее
00:07:03
идентификатор
00:07:04
к сожалению в этом виджете нет
00:07:06
возможности хранить и имя и пойди так
00:07:09
как это можно сделать в блоке ссылок в
00:07:11
языке разметки html
00:07:13
поэтому нам придется написать нехитрую
00:07:15
функцию и переписать только что
00:07:17
созданную get all expenses anthems мы будем
00:07:20
возвращать и словарь соответствие и
00:07:23
отдельно список категорий
00:07:25
выбираем из базы оба поля превращаем
00:07:28
результат запросов словарь и затем из
00:07:30
него формируем словарь соответствие
00:07:32
менее ключи и значения местами так как
00:07:36
мы будем производить поиск
00:07:37
именно по имени категории а в список
00:07:40
имен просто помещаем именно категорий
00:07:42
теперь мы присваиваем результат этой
00:07:44
функции переменной айтемы в параметр
00:07:47
вильнюс нашего combobox мы помещаем
00:07:49
anthems с индексом names это список
00:07:52
строк а в обработчике события нажатия кнопки
00:07:55
сабмит мы переменной extensa иди
00:07:57
присваиваем значение из словаря
00:08:00
айтемы accordance с индексом полученной
00:08:04
категорий проверяем все чудесно именно
00:08:09
то что нам нужно можно записывать в базу
00:08:12
раскомментируем этот код и попробуем
00:08:14
внести первую запись в нашу базу
00:08:16
запускаем жмем ах да я же перенес модуль
00:08:22
и sqlite3 в хелпе
00:08:24
попробуем еще раз смотрим в базу
00:08:28
ура запись добавилось но обрати внимание
00:08:33
что этому платежу
00:08:34
не присвоился уникальный идентификатор
00:08:37
логичная ибо мы его не добавляли можем
00:08:40
конечно добавить вручную но нам будет
00:08:42
затруднительно каждый раз контролировать
00:08:44
порядковый номер платежа это лишний код
00:08:47
да это и не нужно тем более что это
00:08:49
может делать сама база данных достаточно
00:08:52
лишь добавить для поля айди свойства
00:08:55
автоинкремент автоматическое
00:08:58
переключение
00:08:59
значение и
00:09:00
и это можно сделать в виде браузере
00:09:03
включаем checkbox а и проверяем вводим
00:09:09
данные событием chicks и аиде для
00:09:14
платежа добавилось автоматически блок
00:09:17
добавление записей в базу работает вот
00:09:23
такой вот плотный ролик получился но и
00:09:25
материал согласитесь важный и интересно
00:09:27
надеюсь это видео было для тебя полезным
00:09:29
если остались вопросы пиши в
00:09:31
комментариях будем разбираться вместе
00:09:33
обязательно подпишись на канал чтобы не
00:09:35
пропустить следующие видео и поддержать
00:09:37
развитие канала также поставь лайк
00:09:39
нажми на колокольчик на этом пока все
00:09:41
увидимся в следующий раз
00:09:44
[музыка]

Описание:

Продолжаем изучение встроенного модуля Tkinter. Сегодня мы научимся создавать интерфейс для ввода информации пользователем. Разберемся с элементами Entry, Combobox, Button, DateEntry про базы данных: https://www.youtube.com/watch?v=K1C5JAo7cMU - Создание БД SQLite в Python если пропустил: https://www.youtube.com/watch?v=cOAJvWgyAmM - Первая часть. Метод grid() https://www.youtube.com/watch?v=B4eLmZkQQOc - Вторая часть. Методы place() и pack() https://www.youtube.com/watch?v=NWhwUpV4FsU - Третья часть. Label https://www.youtube.com/watch?v=HMPIeZ3S_cs - Четвертая часть. TreeView, Tables

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Отправка формы данных. Entry. Combobox. DateEntry. Создание десктопного приложения с Tkinter #5"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.