ПРОГРАММА КОНВЕРТЕР ВАЛЮТ с графическим интерфейсом на PyQT5 | PYTHON
HTML-код
- Опубликовано: 18 сен 2024
- В этом видео мы создадим программу КОНВЕРТЕР ВАЛЮТ с графическим интерфейсом с использованием библиотеки PyQt5 на Python. А также рассмотрим создания GUI в Qt Designer и научимся конвертировать .ui в.py.
Ссылка на исходный код - github.com/ith...
Телеграм канал для общения - t.me/ithband
Группа в VK - ithobbies
Телеграмм канал - t.me/ithobbies
Ссылка на исходный код - github.com/ithobbies/CurrencyConverter.git
А почему некоторые валюты нельзя переводить ?
@@toffifeeimax7446 не поддерживаются API
Очень интересный выпуск, хотелось бы побольше таких видеороликов. Снимает по именно как разрабатывать. Программа обеспечения. Очень интересно.
для тех кто не может найти qt designer в python 3.9, он находится в pyqt5 applications
Или быть точнее: C:\Users\user\AppData\Local\Programs\Python\Python39\Lib\site-packages\qt5_applications\Qt\bin
Красавчик!!
спасибо
Уш для совсем ленивых, его можно скачать)
А почему когда я запускаю код всё нормально а с другими валютами не конвертирует. Например доллары в рубли.
Спасибо за труды!) Хотелось бы увидеть способы создания многооконных приложений на PyQt, как полноценно создавать и переходить на разные окна с разным дизайном.
Просто создай несколько файлов, и меняй значение переменной self.ui на эти самые файлы.
Спасибо, КРАСИВАЯ программа вышла!!!
Очень рад, что начали выходить уроки по pyqt
Красавчик, классный урок, всё четко и понятно, желаю удачи тебе в этом деле)))
Спасибо
Было бы юзабельнее добавить два комбобокса со списком доступных валют. За видео спасибо, много полезного!
Спасибо за уроки. Все понятно, доходчиво. Очень круто, что есть те, кто объясняет этот материал достаточно доходчиво. Не бросайте это дело
Спасибо, буду продолжать. Если интересно смотреть про PyQT то скоро будет видео в новой серии уроков ruclips.net/video/KaUWLIVloZ8/видео.html
эх, щас бы доллар за 64
интересно было посмотреть как работать с pyqt 👍
спасибо) 🤝
Очень достойно!
Сделай уроки про разные виды анимаций
Например, анимации появления/скрытия, затухания, пульсации, плавные движения меню.
Очень круто будет :)
А так, лайк пАдписка
Отлично ведёшь уроки, продолжай в том же духе
Спасибо
Спасибо вам большое как раз на Яндекс Лицей нужен проект очень помогли.
Огромное спасибо!! Благодаря вам сделал свое первое приложение.
Очень рад что смог помочь!)
Отличный дизайн
Спасибо
Замечательный урок. Спасибо!
Пожалуйста, спасибо что остаётесь со мной)
огромное спасибо, делал свою программу на pyqt5 и сделав на подобии твоего интерфейса(офигенного) разобрался во всем этом дерьме, спасибо
Пожалуйста, PyQT мощная штука, css здорово помогает делать качественный и красивый дизайн
2:49 Qt Designer
13:38 Конвертация UI в PY
16:16 Visual Studio Code
ок)
Круто!_)
Успехов в будущем!)
Спасибо
Шикарный канал! Благодарность!
Спасибо, очень приятно
Ахах, я немного опешил при первом взгляде...
У меня такой же пак обоев, ресолв на главной, pycharm. Забавно.
Спасибо ха проделанную работу.
Спасибо
Почему каждый раз, когда я хочу что-то повторить у меня не входить потому что появляются ошибки хотя я все делал по видео
жиза, сейчас пишу и у меня ошибка, 6 ошибок, хотя у автора их нет !
и у меня
@@spammail7142 проверь сам проект на ошибки. Может как и у всех проблема с background-color. Если не там не ошибок, но внимательно посмотри видео. Автор перед тем, как запустить впервые окладку, дописал в импорте кое-что
А какие именно ошибки?
Какие ошибки, у меня они тоже были но я их исправил, если одинаковые могу подсказать
Огромная благодарность автору, за видеоуроки. Все ясно и доступно. Есть только один вопрос. Возможно ли при помощи pyqt создавать приложения под android?
спасибо большое, помог с созданием проекта для школы)
Круто, расскажите про свой проект
@@ITHobbies я его бывший одноклассник. Он делал программу для нахождения диагонали квадрата по заданной стороне
Пасибо за полезный урок.
Всегда пожалуйста, сейчас делаю новую серию видео, так же буду затрагивать PyQt5, если интересно переходите по ссылке ruclips.net/video/KaUWLIVloZ8/видео.html
СПАСИБО ЗА УРОК!!
Спасибо
Я бы хотел внести правки в этот проект, нельзя делать конвертер валют в оффлай виде, ибо цены каждый день меняются, поэтому нужно делать так:
1. Короче, нужно добавить цикл который после запуска будет выполнять следующее: добавить API который будет обновлять денежный курс как только ты открываешь эту программу (возможно даже сделать специальное маленькое место которое будет показывать по какой дате он будет считать валюту).
2. Если у ПК/Смартфона нет в текущий момент чтобы подключиться к интернету и проверить через API каков сейчас курс валют, то он выполняет конвертацию по последнему подключению к интернету.
3. Если уж совсем нет доступа к интернету, то только тогда все будет работает оффлайн, это такой самый самый из худших и неточного конвертирования который нужно оставлять на последок.
А так, большое тебе спасибо за видео, так как я новичок в python, твой кодинг помог лучше понять как пишутся графические программы, и они особо не отличаются от html5, css, JS который я учил. Ибо другие ютуберы сильно поверхностно обучают новичков не давая понять как писать программы, а лишь только по сути туториал.
Круто
Успехов
Спасибо
спасибо за урок!
Спасибо
'pyuic5' is not recognized as an internal or external command,
operable program or batch file. в cmd пишет так Что делать?
print('Спасибо, сенсей...')
Спасибо
Работает онли с долларами в рубли и фунты. В евро не пашет,в гривны не пашет , и тд
Мне кажется лучше развивать тему с "кошельком".
про кошелек видео и далее будут, просто разбавляю контент канала другими темами
Короче,бротюни,создал я этот шедевр в QT designer и создал файл пайтона, запускать его ,а там ошибка такого плана :This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Погуглил и нашлось рабочее решение здесь :geekbrains.ru/topics/6304?F09%2F2017&partner_id=admitad&click_id=d9ccf2cd2d25a79b8eb37636f494d24d&sub_id=1010045 Короче в двух словах ,скопировать надо папку под названием platforms (из python39/Lib/site-packages/PyQt5/Qt/plugins) в корень папки python39 .Правда перед этим протупил,и скопировал всё что лежало в папке Qt тоже скопировал в корень папки Pyton39,но не удалил.
Помогите пожалуйста, я когда выбираю Label а потом Change styleSheet... и когда начинаю менять там шрифт, цвет выдаёт ошибку the binary C:\Program Files (x86)\Qt Designerdoes\bin/assistant.exe` not exist. Скажите пожалуйста что мне делать?
Смотрю, чет путь не адекватный. После bin слэш не тот
Топ видос , го в стронгхолд вместе сыграем )
В русском мире 8 играю )
Доброго дня, а такие проекты на PyQT5 можно в apk для андроид скомпилировать?
Для андроида Kivy используется
Здравствуйте, могли бы Вы мне подсказать как скачать pyqt5-tools.Написала pip install pyqt5-tools. Пишет, мол: примечание: эта ошибка возникает из-за подпроцесса и, скорее всего, не связана с pip.
ошибка: сбой генерации метаданных. Могли бы подсказать, что нужно вводить, саму команду.
Фух… в Гугл ошибку закидывали?
У меня все норм) обычно возникает когда не ставите птичку при установке питона - называется PATH
советую тогда устанавливать не PYQT-Tools, a PYQT-Designer. Это тоже самое, потом само приложение можно через поиск винды найти
Доброе время суток.
Подскажите:
Есть 2 окна. Из первого окна, кнопкой открываю 2-е окно, затем из первого окна второй кнопкой передаю значение во второе окно. Далее нужно это же значение из второго окна передать обратно, нажатием кнопки, во второе поле первого окна. Эта последняя операция ни как у меня не получается.
pyuic.exe не является внутренней или внешней
командой, что делать
Я записал видео как не допускать данную ошибку
использовать pyuic5
после написания базового кода для main.py в vs code,я запустил его,но у меня открывается просто пустое окно а не само приложение. ПОМОГИТЕ ЧТО ДЕЛАТЬ????
выглядит интересно, а если нажать на фулскрин, все сместится в левый угол
Можно применить метод resize
Добрый день, у меня возникла ошибка при начале конвертации(Process finished with exit code -1073740791 (0xC0000409) ) делал всё по инструкции как на видео, не могу понять почему вылетает программа и выдаёт ошибку
Посмотрел видос и пожалел потраченное время. Ну во-первых по PyQt и так достаточно материалов. По мне так питоновский Qt какой-то неудобный. Откровенно говоря до учебного видео не дотягивает. Скорее видео из серии "смотрите как я умею". Очень много не понятных моментов, смысл многих шагов не раскрыт. Подачу материала тоже неплохо было бы готовить тщательней - много невнятностей в пояснениях.
Спасибо за конструктив, но теперь по пунктам:
1. Корректнее будет сказать "Смотрите что позволяют средства и библиотеки под Python"
2. Уточните какие моменты не понятны? Как по мне, всё достаточно понятно и рассчитано на людей имеющие базовые знания в python. Скрытых смыслов и хитрых алгоритмов нет, от слова совсем.
По сути: первая часть - про то как создать UI в Qt Designer: перетащил объект, изменил с помощью css его свойства. Про базовые свойства (другие я не использовал) в css можно и по-гуглить, я их попутно озвучивал. Далее создаю базовый скелет PyQt5 приложения, который будет одинаков в основной массе приложений использующие PyQt5. Потом добавил заполнители полей в отельной функции init_UI используя метод .setPlaceholderText. Следующим создал функцию convert в которой с помощью метода .text получаю и сохраняю в переменной содержимое полей ввода и передаю в метод convert библиотеки CurrencyConverter. И результат вывожу в поле методом .setText. Функцию convert вешаю на кнопку.
3. Стоит понимать: можно подробно изложить данный материал, но увеличивая глубину рассказа, я также существенно увеличу длительность видео - до тех размеров что до конца его посмотрят единицы. Статистика ютуб тому подтверждение.
Мне например зашло, но я уже работал с tkinter, и PyQt воспринимал в сравнении. Хотелось бы ещё посмотреть более обзорный материал по PyQt, что бы, так сказать, не теряться на местности и понимать общие масштабы и границы PyQt. Что в каких модулях лежит и как удобней использовать. Но это видео просто о другом.
@@AlexAlex-fo2dt, Помню себя хорошо, так как это было недавно. И мне всегда было интересно посмотреть на то, что можно было сделать из тех базовых знаний которые я уже получил из разных источников, во что могут превратиться или в какой пазл можно их сложить. Материалов по PyQt достаточно, но в основной массе на уровне: вот вам кнопочка, вот lineEdit, label, scrollbar и т.д. Но мало кто из этих элементов пытается собрать маломальское рабочее приложение, которое чуть сложнее чем вывести Hello world и покажет взаимодействие всех элементов интерфейса с логикой и функционалом программы.
Это конечно всё круто, но как ты в консольной команде на пайтоне пишешь. Если кто что скажет я просто ещё максимально зелёный)
Что конкретно интересует?
а как сделать так, чтобы переводило по актуальному курсу?
К API банка или тем кто предоставляет API к курсовым ценам
А можно ли сделать, чтобы при изменении размера окна приложения все кнопки и тд подстраивались за ним?
Конечно. Напишите в наш телеграм чат
Очень классно, но почему Вы, автор, не сказали, что при попытке объекту задать свойство border-radius без свойства background-color, то border-radius чёт не хочет работать
Обычно проблема с радиусом, что есть минимальный
всмысле "исключительная особенность дизайнера - описание css стилей"???
Это фишка PyQt как такового, это и из кода делается
Ха! Теперь я умею программировать!
круто, успехов Вам
Использовал рабочую среду PyCharm, ИМХО удобней чем VSC. За урок спасибо, очень многое мне дало для дальнейшего понимания. В общем всё работает, в самой среде PyCharm, но есть нюанс. Установил pyinstaller (pip install pyinstaller). Собрал программу в ЕХЕ-файл, работает ровно до момента нажатия клавиши "Конвертируй", затем закрывается. Для сборки использовал команду с двумя флагами: pyinstaller -F -w main.py
Может у кого-нибудь такая же проблема? Как решили?
Напиши в телеграм чат
Такая же проблема, нашел решение?
@@nurzhankulmagambetov2235 а ты смог найти решение?) Было бы неплохо просто узнать как это делается. Поискал инфу в инете, ничего годного не нашёл(
@@postyronium я уже не помню, вроде как нашёл решение на stackoverflow
Ребят а подскажите как данную программу закомпилировать в exe
Pyinstaller
@@ITHobbies это я понимаю
Могли бы вы мне скинуть краткую инструкцию а то у меня не получается
@@taptapden1896 хауди хо в помощь, он делал видос по нему
Реально, по сравнению с Делфи просто каменный век. Но за урок спасибо!
В чем это выражено?)
IT Hobbies в конструировании форм, запуске приложения, вообще всего. Да, дело привычки.
Возможно.....
Под каждую задачу есть свой инструмент
Урок классный, но грустно постов потому что доллар по 85
А сейчас сколько ?
2 часа сижу перепроверяю код..
AttributeError: 'QApplication' object has no attribute 'exeс'
Может подскажете?
Вечером выложу на гитхаб код
@@ITHobbies :)
@@asteronoa github.com/ithobbies/CurrencyConverter
@@ITHobbies спасибо!
@@asteronoa Обращайтесь)
Нет дизайнера после установки pyqt5-tools, соответственно дальше ничего не сделать
почпму-то с рублями и гривнами не работает, можете подсказать почему так?
Библиотека не все валюты поддерживает
А почему когда конвертирую интерфейс в пайтон код у меня выдает вот такую ошибку "Fatal error in launcher: Unable to create process using '"e:\games\python.exe"
"E:\Games\Scripts\pyuic5.exe" ui.ui -o ui.py -x': ?? ??????? ????? ????????? ????." Помогите пожалуйста
Посмотрите где у вас расположен Python, прям в корне папки games?
вот код,только поменяйте названия
import sys
from PyQt5 import QtCore, Qtgui, QtWidgets
from PyQt5.QtGui import QIcon
from koverter import Ui_MainWindow
from currency_converter import currency_converter
class CurrencyConv(QtWidgets.QMainWindown):
def __init__(self):
super(CurrencyConv,self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.init_UI()
def init_UI(self):
self.setWindownTitle('Конвертер Валют')
self.setWindownIcon(QIcon('images.png'))
self.ui.lineEdit.setPlaceholderText('Из валюты:')
self.ui.lineEdit_2.setPlaceholderText('У меня есть:')
self.ui.lineEdit_3.setPlaceholderText('В валюту:')
self.ui.lineEdit_4.setPlaceholderText('Я получу:')
self.ui.pushButton.clicked.connect(self.converter)
def converter(self):
c = CurrencyConverter()
lineEdit = self.ui.lineEdit.text()
lineEdit_3 = self.ui.lineEdit_3.text()
lineEdit_2 = int(self.ui.lineEdit_2.text())
lineEdit_4 = round(c.convert(lineEdit_2, '%s' % (lineEdit), '%s' % (lineEdit_3)), 2)
self.ui.lineEdit_4.setText(str(lineEdit_4))
app = QtWidgets.QApplication([])
application = CurrencyConv()
application.show()
sys.exit(app.exec())
А могу ли я как-то воспользоваться setPlaceholderText не через код, а добавить эту настройку сразу в форму?
Эмми… можно подробнее
я бы сделал выпадающие списки для выбора валют
А как сделать получение актуального курса валют по api в таком приложении?
И еще в файл exe его сконвертить бы
А ещё в apk его как нибудь можно? Чтобы на телефон установить
1.нужно найти банк который даст api ключ, который во время запуска приложения будет показывать актуальный курс валют.
2.pyinstaller в помощь, с ним легко конвертировать в exe
3. для этого подойдёт не PyQt5, a Kivy
@@postyronium спасибо!
Всё прекрасно,а как сделать чтобы этот конвертатор был отдельным приложением и запускать можно было не в пайтоне его?
есть библиотека pyinstaller
@@ITHobbies костыль
А как я могу забилдить полученный py файл в exe??
pyinstaller
@@ITHobbies Я пытался, билдил отдельно логику программы, но она в итоге просто вылетала, пробовал забилидть панораму и логику с флагом -F но так тоже не вышло. Значит я просто накосячил где-то?
@@ITHobbies, а можешь запилить видео как это делать к примеру с данным конвертатором?)
output_amount = round(c.convert(input_amount, '%s' % (input_currency), '%s' % (output_currency)), 2)
тут ошибка
Подскажи, пожалуйста, откуда у тебя этот шрифт, ибо у меня его нет
Скачал
@@ITHobbies Можешь помочь пожалуйста - у меня после команды border-radius: 30 поле для ввода валюты всё равно остаётся прямоугольным, и ещё одно - когда я ввожу для кнопки background-color: #fb5b5d она всё равно остаётся чёрной
@@bogdanshulga7555 попробую расширить ее она точно заработает
как найти этот designer?
Маленький вопросик: Почему в предпросмотре не работает QPushButton: hover?
Может нажми Ctrl + R, чтобы тебе открылось то самое окно, можнт там сработает
такое бывает. и это только визуальный баг, происходит это из-за того что ты border-raduis как и сам border ставишь слишком большой, от чего не видно анимации нажатия по кнопке
а че если нет папки QT
Зачем так много строк и написаний классов чего-то там ради такой простой программы? Думалось, что работа с Qt облегчит написание графических программ, но оказалось надо ещё больше дописывать и додумыыать с какими-то классами и непонятными процедурами
Пишите процедурно...
designer ругается и не хочет открываться. python 3.8 и 64 битная версия. PyQT критична разрядность операционной системы и версия pythonа?
Использую х86
У меня также было через обычный питон, в итоге просто запустил через Miniconda
Добрый день!
У меня "pip install pyqt5-tools" не скачивается.
Вот такая ошибка:
ERROR: Could not find a version that satisfies the requirement pyqt5-tools (from versions: none)
ERROR: No matching distribution found for pyqt5-tools
нужен vpn
Ссылка на исходный код - github.com/ithobbies/CurrencyConverter.git
Этот конвертер валют отслеживает реальный курс ?
Я такое в икселе за минуту сделаю.
у меня вместо текста прямоугольники
как же я не люблю ваш windows..... настоящий разработчик должен пользоваться linux!)
Как по мне слишком громкое утверждение. Каждая ОС хороша по своему.
Также не вижу связи между настоящим разработчиком и использованием Линукса.
что делать если не работает import UI_MainWindow
QtDesigner можно скачать в браузере.
Можно, есть видео на канале про это
почему заставка мак ос?!
Понравилась, такая же и на MacBook установлена
Прога просто закрывается при нажатии кнопки даже с твоим кодом,
что делать?
Нашёл решение проблемы? У меня немного другой смысл программы, но суть одна. После конвертации в ехе, и получения результатов прога закрывается, а хотелось бы чтобы она продолжила работать
@@postyronium нет(
@@exeshka а мне кажется что я смог найти, если что скинь свой дс, мб помогу
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.save('1.jpg')
< -------- 😁
sys.exit(app.exec_())
У меня команда border-radius: 30 не работает, а также я решил поставить задний фон для ввода валюты black, но оно не меняется, кто может помочь?
что бы работал border-radius: 30 - нужно высоту поля установить как у меня...если меньше - то физически оно не сможет его так закруглить
Салам алейкум можно написать конвектор файлов.. можете мне помочь подсказать
Можно. Под видео ссылка на телеграм, пишите
У меня ошибка, No module named 'Ui' что мне делать, помоги пожалуйста
Проверь все строки в верху импорты=) там думаю и кроется ошибка
@@riplock77 чел, хватит всем неправильно подсказывать
Ты должен проверить, как у тебя называется python файл, в который ты конвертировал ui файл. Название python файла нужна было указывать, при вводе команды в cmd на 14:22. Также проверь, чтобы оба python файла были в одной папке, а не в разных, иначе не будет работать.
@@Китоблатов спасибо но я уже давно испрпвил
1:10 это не ошибка из-за того что он уже установлен , а предупреждение что доступна новая версия pip🤦♂️
Оговорился...
@@ITHobbies Бывает :)
У меня руб не читается
Друзья! Подскажите пожалуйста, как сохранить скриншот этого окна. Допустим я делаю редактор визиток. Человек вставляет фото, текст, а потом надо в jpg сохранить
💯$= 623😂
Что это за версия виндовс и тема? Можешь сказать
Обычная вин 10
@@ITHobbies какая версия?
Последняя, вечером подскажу какая именно
После нажатия на кнопку, вылитает
тоже. output_amount = round(c.convert(input_amount, '%s' % (input_currency), '%s' % (output_currency)), 2)
пхпх, я на свой же коммент ответил, ну я и лох
решил)
Отлично! 👍
как сделать, чтобы были криптовалюты?
Посмотри видео про визуализацию данных ... Я про крипту говорил
Этот CurrencyConverter показывает устаревшие данные.
Maybe
Мда, сразу видно, кто до этого ролика в основном сайтики верстал... И про Qt совсем недавно узнал...
Значит так, style sheet, который автор применял, он всего лишь вдохновлялся CSS, но это QSS.
Дальше, где layouts? Если ты попробуешь изменить размер окна, всё поломается к чертям. В этом случае хотя ты бы хоть чуть-чуть постарался бы и хоть бы зафиксировал размер окна, что бы его нельзя было изменять...
И самое главное: кто так пишет код. Qt тем и уникален, что он использует систему сигналов и слотов. Как у тебя в принципе происходит считывание нажатия кнопки? Если ты не используешь функционал QtCore и QtGui, то тогда зачем их импортируешь? Они нужны только для того окна, которое ты создал. И на последок: почему ты не сделал самое главное - не унаследовал CurencyConv от Ui_MainWindow????? Должно было быть так:
class CurencyConv(QMainWindow, Ui_MainWindow):
def __init__(self):
super(NameMail, self).__init__()
self.setupUi(self)
...
Импортировать библиотеки нужно так:
from PyQt6 import QtWidgets
from PyQt6.QtWidgets import QApplication, QMainWindow
Вот тебе немного кода для наглядности из одного моего проекта:
NameMail/ui/namemail.py:
from threading import Thread
from PyQt6 import QtWidgets
from PyQt6.QtWidgets import QApplication, QMainWindow
from ui.raw.ui_namemail import Ui_NameMail
from ui.reviewer import Reviewer
from ui.sender import Sender
from src.mail import *
from src.smtp import SMTPHost
from src.config import mail_login, mail_password
class NameMail(QMainWindow, Ui_NameMail):
def __init__(self):
super(NameMail, self).__init__()
self.setupUi(self)
self.reviewer = None
self.sender = None
self.message_from: list[str] = []
self.message_subject: list[str] = []
self.progressbar = QtWidgets.QProgressBar()
self.statusbar.addWidget(self.progressbar)
self.buttSend.released.connect(lambda: self.buttSend_Released())
self.listLetters.activated.connect(lambda: self.listLetters_Activated(self.listLetters.currentRow()))
get_mail = MailIMAP(SMTPHost.gmail.value)
mail_thread = Thread(target=self.get_message, args=(get_mail,))
mail_thread.start()
def get_message(self, get_mail: MailIMAP):
get_mail.server_login(mail_login, mail_password)
get_mail.get_list()
progres_thread = Thread(target=self.progress_bar_reboot, args=(get_mail,))
progres_thread.start()
get_mail.get_messages()
get_mail.close()
def progress_bar_reboot(self, get_mail: MailIMAP):
self.progressbar.setMaximum(len(get_mail.id_list) - 1)
current_number_of_rocessed_list_id = len(get_mail.messages)
while current_number_of_rocessed_list_id < len(get_mail.id_list) - 1:
if current_number_of_rocessed_list_id < len(get_mail.messages):
self.progressbar.setValue(current_number_of_rocessed_list_id := len(get_mail.messages))
item_from = str(email.header.make_header(email.header.decode_header(get_mail.messages[-1]['from'])))
item_subject = str(email.header.make_header(email.header.decode_header(get_mail.messages[-1]['subject'])))
self.listLetters.addItem(QtWidgets.QListWidgetItem(f"From : {item_from}
Subject : {item_subject}"))
self.message_from.append(item_from)
self.message_subject.append(item_subject)
def buttSend_Released(self):
self.sender = Sender()
self.sender.show()
def listLetters_Activated(self, number_item: int):
self.reviewer = Reviewer(number_item, self.message_from[number_item], self.message_subject[number_item])
self.reviewer.show()
NameMail/main.py:
import sys
from PyQt6 import QtWidgets
from PyQt6.QtWidgets import QApplication, QMainWindow
if __name__ == "__main__":
app = QApplication(sys.argv)
try:
file = open('init/config.ini')
except IOError:
from ui.logindialog import LoginDialog
login = LoginDialog()
login.show()
result: int = login.exec()
match result:
case QtWidgets.QDialogButtonBox.StandardButton.Abort.value:
sys.exit()
case QtWidgets.QDialogButtonBox.StandardButton.Apply.value:
pass # Можна продовжувати роботу
from ui.namemail import NameMail
ui = NameMail()
ui.show()
sys.exit(app.exec())
А теперь сравни со своим проектом. Пускай оно и работает, но это всё через чур очень легко сломать. Нет надёжности. В проекте надо почти всё изменить, что бы оно стабильно работало. Единственное, что хорошо - графика. И не более...
Спасибо… на 100% согласен с Вами
26:12
Что-то упустил?
Почему не использовал Layout`ы?
Мне кажется с layout долго компоновать приходится
Похоже парень не знает что такое Layout'ы
знаю, так как я установил resize: False - Layout'ы думаю не нужны
@@ITHobbies ладно, уделал меня)))
@@ITHobbies хотя я тут подумал:
"А разве на разных разрешениях экрана программа не будет выглядеть по-разному??"
Извините, а как установить и где resize: False? Вообще не понимаю, как сделать так, чтобы программа не меняла свой внешний вид. При запуске все объекты съезжают :(
30 минут смотрел, как человек пишет код. Ни одной строки коментария в коде. Это не урок.
Комментировал каждую строку по ходу
у меня ваще радиус не меняется
такая же проблема, всё получилось кроме radius, можеет кто подскажет в чём причина
Радиус зависит от высоты поля. Если поле узкое, а диаметр большой - то он не скруглит
@@ITHobbies всё равно не хочет
Может Вы не смотрите свои видео. Так я подскажу, что текст в командной строке очень плохо виден уже на стандартной диагонали ноутбука. А еще многи смотрят с теелфонов. Хотя Вам и насрать. Но я для профилактики поставил дизлайк