GUI Password generator in Python

  Рет қаралды 10,384

shtosh python

shtosh python

Күн бұрын

In this video, I will teach you how to make a cross-platform GUI password generator application. We will use the Python language and the PySide6 library - a binding to the Qt framework toolkit.
Repository on GitHub: github.com/lesskop/password-g...
Music from video:
- Chau Sara
- Provided by Lofi Records
- Watch: • Chau Sara - Naevys
- Download/Stream: fanlink.to/LightsaberBar
Time codes:
00:00 - Shtosh
00:34 - Getting started
00:49 - Qt Designer
01:14 - Central widget layout
01:26 - Character selection layout
02:06 - Password length layout
02:24 - Composition of entropy and password complexity
02:50 - Password layout
03:34 - Material Icons
04:14 - Adding the names of the elements
04:36 - Resources.qrc file
04:53 - Putting icons in buttons
05:32 - Styles for the main widget
06:00 - Styles for buttons
07:25 - Lock icon
07:36 - Password frame
07:55 - Password field
08:11 - Password visibility button
08:42 - Password generation button
09:05 - Password copy button
09:28 - Password length slider
10:25 - QSpinBox password length counter
10:50 - Setting up the vertical element policy
11:10 - We put the cursor "pointing hand" for the buttons and the slider
11:27 - Removing the white border
11:42 - Putting the finishing touches on
11:58 - Converting resource and interface files
12:32 - Main application module
12:56 - Buttons module
14:04 - Password module
15:39 - Associating slider and counter values
16:13 - Method for obtaining valid characters
16:37 - Password setting method
17:44 - Method for getting the number of characters
18:14 - Entropy setting method
19:23 - Method for setting password complexity
20:07 - We generate a password when pressing the keys
20:39 - Method for changing password visibility
21:25 - Editing the design and adding keyboard shortcuts for the buttons
22:00 - Method of copying the password to the clipboard
22:25 - Method for changing password complexity information when changing
23:00 - Changing the structure of the project
23:30 - Create the requirements.txt dependency file
23:44 - Git and .gitignore and first commit
24:12 - Putting together an application for Windows
26:04 - Putting together an application for Linux
26:46 - Change the gray icon on macOS
27:08 - Putting together an app for macOS
27:31 - Repository on GitHub
27:42 - Shtosh

Пікірлер: 86
@davronmirzaev9341
@davronmirzaev9341 Жыл бұрын
Кайфую с твоего минимализма на канале, очень увлекательно рассказываешь)
@shtoshpython
@shtoshpython Жыл бұрын
Благодарю!
@aleksandrkorotych
@aleksandrkorotych Жыл бұрын
Качество подачи контента с каждым разом всё лучше 👍
@shtoshpython
@shtoshpython Жыл бұрын
Работаем :)
@Sensys93
@Sensys93 Жыл бұрын
я в восторге!!))) Было бы круто увидеть еще функции сохранения пароля в базу с шифрованием, а также возможность прикручивать логин + ресурс (для которого создан пароль/аккаунт) и все это отображать в TreeView. И будет приложение для генерации и хранения паролей
@shtoshpython
@shtoshpython Жыл бұрын
это уже будет полноценный менеджер паролей, как keepass. Идеи хорошие, попробуйте их реализовать.
@khan_pro
@khan_pro Жыл бұрын
Броо где ты не брсай эту канал твои видосы очень круты просто кайф смотрет. Такой контент как это нет ни где Ждем видосы
@shtoshpython
@shtoshpython Жыл бұрын
Благодарю. Когда-нибудь что-нибудь выложу, я не забрасываю, просто нет интересных идей.
@user-eo7jj8rp7z
@user-eo7jj8rp7z Жыл бұрын
Министерство обороны интересуют Ваши разработки! Мы вышлем приглашение на работу!
@shtoshpython
@shtoshpython Жыл бұрын
🤠
@zoyewww5957
@zoyewww5957 Жыл бұрын
Даже не зная ни одного языка, максимально приятно тебя смотреть
@shtoshpython
@shtoshpython Жыл бұрын
Спасибо, очень приятно
@erosadjovi8877
@erosadjovi8877 Жыл бұрын
Installed, everything works, thanks!
@user-cp1jx3le2g
@user-cp1jx3le2g Жыл бұрын
Чееел как же ты харош
@xesax
@xesax Жыл бұрын
как сделать программу чтобы когда человек вводил телефон и промокод , данные приходили на емайл или в тг?
@k.8688
@k.8688 Жыл бұрын
опять же извиняюсь за надоедливость, но при попытке конвертации файла rcc, не может найти файл иконки приложения, вследствие чего выдает ошибку. не подскажите, как исправить?
@shpice
@shpice Жыл бұрын
После компиляции файла ресурсов и main.ui в .py не подгружаются иконки в превью app.py. Подскажите, в чём может быть дело? Несколько раз уже перекомпилировал, не помогает. Из того, что заметил: импорт файла ресурсов в ui_main.py не задействован, т.к. подсвечивается серым. Но что с этим делать, я не знаю. Ведь похоже, что иконки подгружаются из папки напрямую, судя по коду. В общем, буду рад любому совету.
@sloupanch4988
@sloupanch4988 Жыл бұрын
привет! Может увидишь... В общем, на стадии, когда мы ставим пароль в питоне, при написании атрибута create_new вылезает AttributeError: module 'password' has no attribute 'create_new'. Я уже ничего не понимаю, если будет время, помоги, пожалуйста :(
@Bifidok90
@Bifidok90 Жыл бұрын
Чувак ты самый крутой. Давай дальше видосики. Куда пропал
@shtoshpython
@shtoshpython Жыл бұрын
афтар умер видиво не будет
@user-mc2zt8gm4x
@user-mc2zt8gm4x Жыл бұрын
Интересное видео
@bgds5848
@bgds5848 7 ай бұрын
Подскажите как открыть программу после введения кода в Qt Desiner
@graphone4801
@graphone4801 4 ай бұрын
Такой же вопрос
@GameSpektr1
@GameSpektr1 Жыл бұрын
Что делать если при запуске в pycharm проекта, svg формат не виден на кнопках(в qt designer всё как в видео сделал и там видно всё на preview) ?
@shtoshpython
@shtoshpython Жыл бұрын
Вообще иконки не видны? Скорее всего неправильно подключил resources.py, бывает, поменяй импортирование.
@GameSpektr1
@GameSpektr1 Жыл бұрын
@@shtoshpython именно в pycharm'e иконки не видны а в дизайнере видны. Импортирование как по видео сделал и с rc и без него и как в видео с калькулятором ничего не получилось. Возможно png формат зайдёт но там беда, что когда менять приходится размер изображения меняется не изображение, а размер кнопки
@MsRestartround
@MsRestartround Жыл бұрын
Видео понравилось! 👍 Сколько в общем времени ушло на написание данной штуки?
@shtoshpython
@shtoshpython Жыл бұрын
Спасибо. Ушло довольно много времени вместе с записью видоса, сценарием и монтажом. На саму прогу потратил где-то 3 дня, большую часть времени редактировал дизайн, сам код быстро написал.
@user-cp1jx3le2g
@user-cp1jx3le2g Жыл бұрын
Кстати, почему используешь Qt Designer, а не Creator?
@panchlatesit4185
@panchlatesit4185 Жыл бұрын
Привет, у меня наверное глупый вопрос, но. Как ты создал css-файл, когда делал стили для главного виджета. Тут не не просто нужно создать папку, а внутри неё файл. Я так делал, у меня не получалось, точнее файл создавался, но сами слова были одного цвета. Мне нужно что-то отдельно установить или что?
@shtoshpython
@shtoshpython Жыл бұрын
Тебе нужно сохранить этот файл с расширением .css в конце
@k.8688
@k.8688 Жыл бұрын
все более менее понятно и ясно, но есть все же непонятки. сейчас нахожусь на этапе «поле пароля» я не понимаю, как вы открыли то окно, где можно посмотреть итоговый результат и потыкать на кнопки, у меня почему то при правильном написании кода и всем остальном это окно не открывается(если вы не поняли, то это то окно, которое открывается вторым после применения настроек и нажатия кнопки окей), а кнопки снизу почему то не хотят выделятся по краям, и не хотят становится цветными. поле пароля при этом выделилось правильно, как на начале 8 минуты ролика
@shtoshpython
@shtoshpython Жыл бұрын
Ctrl + R
@k.8688
@k.8688 Жыл бұрын
@@shtoshpython благодарю
@seawolfshorts666
@seawolfshorts666 Жыл бұрын
При попытке поменять значения alignment, выравнивание текста не срабатывает когда я меняю значения horizontal и vertical, а остается прежним, как стоит по умолчанию. Что делать?
@shtoshpython
@shtoshpython Жыл бұрын
¯\_(ツ)_/¯
@user-qg7oe9ui5o
@user-qg7oe9ui5o Жыл бұрын
Добрый день, огромное спасибо за видео, не могли бы вы объяснить зачем мы пишем -> None?
@shtoshpython
@shtoshpython Жыл бұрын
Почитайте про аннотации типов или type hinting. Мы указываем, что функция возвращает тип None, т.е. не возвращает ничего. Это подсказка для линтера и для самих разработчиков. При выполнении скрипта аннотации не играют роли.
@k.8688
@k.8688 Жыл бұрын
здравствуйте ещё раз! не получается сконвертировать файл ресурсов(никогда не работал с пайчармом, ничего не знаю), я вижу у вас слева есть css, icons, main.ui, у меня такого нету(возможно просто не смог добавить из за неопытности, есть только venv, и папка password generator) объясните, пожалуйста, что вы делали до конвертации ресурсов.
@shtoshpython
@shtoshpython Жыл бұрын
попробуйте посмотреть статью на Хабре: habr.com/ru/post/689536/
@k.8688
@k.8688 Жыл бұрын
@@shtoshpython попробовал покопаться. после прописывания pyside6-rcc . esources.qrc -o . esources.py в терминале выдает ошибку Error: C: \Users \UserHome\PycharmProjects\password_generator\venv\Lib\site-packages\Pyside6 cc:File does not exist ‘. esources.qrc’ while executing "C: \Users\UserHome\PycharmProjects\password_generator\venv\Lib\site-packages\Pyside6 cc-g python . esources.grc -o . esources.py” хоть по этому пути я закинул все файлы и коды qt designera, он их почему то не видит ну и при конвертации самого мейн файла пишет, что имя pyside-vic не распознано как имя командлета, функции, файла, сценария или выполняемой программы
@shtoshpython
@shtoshpython Жыл бұрын
@@k.8688 1). Файла не существует. Посмотрите, по какому пути вы запускаете команду конвертации, и где лежит resources.qrc 2). pyside6-uic, а не vic
@George_games5
@George_games5 5 ай бұрын
Очень круто❤, но 0:35 во первых вам нужно скачать и установить Python, а во вторых вам нужно скачать и установить Python это что значит? 😊
@Lowly_on
@Lowly_on Жыл бұрын
Попробуй Qt Design studio, там в плане прототипирования интерфейсов всё куда лучше
@shtoshpython
@shtoshpython Жыл бұрын
Пробовал. Мне нравится минималистичный дизайнер. Для серьезных больших приложений я бы использовал вообще не Python и не Qt, а RAD Studio c С++ или Delphi
@Lowly_on
@Lowly_on Жыл бұрын
@@shtoshpython дельфи долговязый, срр такой же
@Lowly_on
@Lowly_on Жыл бұрын
**Жду видео с Qt design studio**
@user-hg1zb1pp6o
@user-hg1zb1pp6o 5 ай бұрын
AttributeError: 'Ui_MainWindow' object has no attribute 'low_low'
@mksmvnv
@mksmvnv 6 ай бұрын
Что за магия, хах) Сначала в файле MainWindow.css ты установил заливку фона кнопок цветом при нажатии. А спустя несколько минут, кнопки копирования и рефреша при нажатии выделяют уже только границы без заполнения, а нижние кнопки продолжают заполнять фон) Как сделать это разделение?)
@mksmvnv
@mksmvnv 6 ай бұрын
Иногда полезно самому покопаться) Написал по новой код для рефреша и копирования и теперь они просто увеличивают границы кнопок при нажатии и не фиксируют их, а отпускают в серый цвет.
@itsjtzt.5464
@itsjtzt.5464 Жыл бұрын
А как сделать чтобы можно было настроить количество выдаваемых паролей, если позволяет интерфейс
@shtoshpython
@shtoshpython Жыл бұрын
такой интерфейс не позволяет, переделай, если тебе нужно (зачем?)
@yakikk
@yakikk Жыл бұрын
Что такое resources.qrc?Где его взять? и зачем мы его конвертируем?
@shtoshpython
@shtoshpython Жыл бұрын
На 4:36 все показано. Вот еще документация: doc.qt.io/qt-5/resources.html
@yakikk
@yakikk Жыл бұрын
@@shtoshpython Лучший в мире за работой!
@user-bl5xb4fs8p
@user-bl5xb4fs8p Жыл бұрын
sirin hamza fruity edition doesn’t have all the plugins or samples and it can’t record content either
@shtoshpython
@shtoshpython Жыл бұрын
-_-
@MatuxaMatuxa
@MatuxaMatuxa Жыл бұрын
Можно сконвертировать через Pyinstaller
@shtoshpython
@shtoshpython Жыл бұрын
Действительно, в видео же об этом не говорится.
@user-cz2xr8me4t
@user-cz2xr8me4t 9 ай бұрын
Привет, можно еще вопрос, а что делать если у меня при запуске приложения выдает пароль только из двух символов?
@shtoshpython
@shtoshpython 9 ай бұрын
Поменять стартовое значение слайдера/счетчика на нужное, скорее всего у тебя стоит 2. Смотри 10:21
@dWn2T
@dWn2T 5 ай бұрын
Гораздо полезнее научится создавать сложные пароли, и в тоже время легкие для запоминания, с помощью мнемотехники. Вот пример такого пароля: D0g-1,d0g-2,d0G-3. Этот пароль легко запомнить, и невозможно взломать! Можете даже не проверять, энтропия этого пароля равна 91 бит.
@user-cz2xr8me4t
@user-cz2xr8me4t 9 ай бұрын
А что делать если при конвертации файлов пишет: File does not exist
@shtoshpython
@shtoshpython 9 ай бұрын
Либо файла, который вы собираетесь конвертировать, не существует, либо вы неправильно пишете путь к нему
@Rejgan318
@Rejgan318 9 ай бұрын
Печально все это. Дилетанты типа Доши Гударя, которые руководствуются "Мама, смотри как я могу!", заполонили Ютьуб и имеют сотни тысяч подписчиков. А каналы с качественным контентом, который смотришь и понимаешь, что доколупаться не к нему, можно посчитать по пальцам одной руки. Хочется чувствовать себя менее компетентным, чем автор видео, но чаще получается наоборот Очень понравилось. Полное понимание того, что делаешь, профессионализм, внимание к мелочам, желание сделать так хорошо, насколько это возможно. Подача информации при ускоренном видео не зашла. Музыку потише, отвлекает. Больше объяснений почему именно так. Путь к решению интересней самого решения. И не останавливайся, снимай еще, не будь как Доша :)
@shtoshpython
@shtoshpython 9 ай бұрын
Благодарю. Насчет всяких Дударей и Хауди Хо - людям просто нравится такой около-IT контент. Трёп о технологиях, но не их применение. Либо же применение очень ограниченное, на уровне с "first steps" в документации. Мне тоже эти персонажи очень не нравятся. А еще Сергей Немчинский, господи. Это просто генератор дерьма, которое каким-то образом смотрят люди. КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫБРАТЬ В 20** ГОДУ??? КАК УЧИТЬ ПРОГРАММИРОВАНИЕ??? СКОЛЬКО НУЖНО ВРЕМЕНИ, ЧТОБЫ СТАТЬ ПРОГРАММИСТОМ??? Я не видел ни одного видео, где он реально что-то кодит, а не рассказывает свой ДРАГОЦЕННЕЙШИЙ опыт. Сгорел, простите. Насчет громкой музыки - в этом видео решил сделать autoducking. Музыка становится громче в паузах. Самому не нравится сейчас. Лучше бы оставил один уровень и заполнил паузы водичкой. "И не останавливайся, снимай еще, не будь как Доша". Так он и не останавливается, хотя стоило бы. Я не люблю конвейерный контент. Последнее мое видео было какой-то нелепой попыткой залезть в хайп-трейн. Не понравилось. Люблю делать что-то аутентичное. Как будут интересные идеи и реализации - обязательно запилю. Еще огорчает, что за свою просветительскую работу я не получил еще ни гроша. Ютуб монетизацию отключил по всем знакомой причине. Круто, конечно, работать за идею и за благодарности, но на такой благой энергии далеко не уедешь. Еще раз благодарю за развернутый комментарий и советы.
@cscat8484
@cscat8484 Жыл бұрын
Привет, ты в подольске живешь?
@shtoshpython
@shtoshpython Жыл бұрын
Нет, в Москве, просто так IP определило с мобильной сети
@cscat8484
@cscat8484 Жыл бұрын
Понял, ахаха я случайно наткнулся на твою статью на хабре, а там мой город, думаю мб ты тут живёшь)
@RenderDragon
@RenderDragon Жыл бұрын
Твой голос очень похож на ИЗМАЙЛОВА)
@shtoshpython
@shtoshpython Жыл бұрын
Больше на Элвина бурундука
@user-lq8dv4xo4p
@user-lq8dv4xo4p Жыл бұрын
По какой причине может при запуске app.py вылезать пустое белое окошко? 🤨
@user-lq8dv4xo4p
@user-lq8dv4xo4p Жыл бұрын
Разобрался!
@shtoshpython
@shtoshpython Жыл бұрын
@@user-lq8dv4xo4p как разобрался? Поведай
@Liqpons
@Liqpons Жыл бұрын
Сними видео где пишешь бота который перебивает цену на 1коп в стиме
@newalink
@newalink Жыл бұрын
Привет. Слушай, разработал программу. Помоги, у меня выбивает ошибка на питоне после запуска приложения... Мне нужна твоя помощь, просто я новичок и хочу разработать свою первую программу. Давай свяжемся по любой соц. сети или дискорд. Если сможешь. Спасибо заранее! Только откликнись пж
@MstrDuos
@MstrDuos Жыл бұрын
Ты бы лучше рассказал как начинающему джуну дойти до такого. Поделился бы опытом, что читал, смотрел и т.д.
@shtoshpython
@shtoshpython Жыл бұрын
Джун и начинающий - это разные понятия. Я уже и сам не помню, с чего начинал. Я всегда советую учить технический (преимущественно) английский, читать официальные документации и больше практиковаться (что у меня получается с трудом)
@MstrDuos
@MstrDuos Жыл бұрын
@@shtoshpython это понятно. А ты на момент съемки делал все по готовому сценарию на условном втором мониторе? Прост, создается ощущение, что ты это все с закрытыми глазами можешь повторить)))
@shtoshpython
@shtoshpython Жыл бұрын
@@MstrDuos записывал экран и голос отдельно по готовому сценарию. Так я делаю для каждого видео. Конечно, намного проще писать экран и голос одновременно, но у меня есть свои причины, почему я не могу так делать.
@karlson9775
@karlson9775 Жыл бұрын
Дальше одной минуты видео не сдвинулся. Не устанавливается ни pyside6 ни pyQt5 через pip. Даже через packages нужные пакеты пишут ошибка. Хотя pycharm с лицензией. Возможно у тебя хорошее видео, но пойду искать другое. Буду хотя бы в терминале выводить результат генерации.
@shtoshpython
@shtoshpython Жыл бұрын
Так какая ошибка то? Ты бы написал, что тебе пишет терминал.
@karlson9775
@karlson9775 Жыл бұрын
@@shtoshpython слушай, сейчас уже не вспомню, что писал установщик, но суть заключалась в том, что при установке через pip пакет pyside6 не появлялось папок установки, либо возникала ошибка загрузки ( конкретику о чем писали не помню). Ну или папки устанавливались, но в них не было designer.exe. Проблему уже решил. В python Packages через поиск нашел папку pyside6 и установил её. И всё стало нормально. Всё есть, скоро вернусь к видео. Уж слишком хорошо ты программу сделал, что бы так просто отказаться от просмотра видео. )
@shtoshpython
@shtoshpython Жыл бұрын
@@karlson9775 благодарю. Советую указывать конкретную ошибку в комментарии. Так тебе сразу могу помочь я или другие зрители.
@ITHobbies
@ITHobbies Жыл бұрын
@@karlson9775 при установке может чек на PATH не установлен?
Понять Django. Пишем "Hello world". Объясняю просто и с картинками.
25:49
Клуб дедов-программистов
Рет қаралды 169 М.
РАДУЖНАЯ ГОРКА 🌈😱
00:30
ВИОЛА 🐰
Рет қаралды 2 МЛН
PILIHLAH PASANGAN KAUS KAKI 🧦 MEMBERSIHKAN KAKI
00:17
One More Indonesia
Рет қаралды 54 МЛН
ЗРЯ Я 24 ЧАСА СТОЯЛ НА ГВОЗДЯХ! #нонале
00:35
1 класс vs 11 класс (ошибки)
01:00
БЕРТ
Рет қаралды 5 МЛН
Учим Python за 1 час! #От Профессионала
59:01
Хауди Хо™ - Просто о мире IT!
Рет қаралды 10 МЛН
Кратко про Python Tkinter | Как создавать GUI Приложения
11:08
Псевдо Программист
Рет қаралды 49 М.
РАДУЖНАЯ ГОРКА 🌈😱
00:30
ВИОЛА 🐰
Рет қаралды 2 МЛН