Форум сайта python.su
Коллеги, подскажите, пожалуйста, где об этом можно почитать - нужна внятная статья на эту, а не бесконечный урок, где автор что-то свое рассказывает …
Именно структура многооконного приложения, а не структура проекта на диске в неком ide …
Поясную ситуацию, откуда возник вопрос (рисую свое первое приложение на PyQt и питоне вообще, но создавать собственные проекты и решать весьма сложные задачи приходилось)
шел таким путем:
1) сделал сначала одно “главное окно” - с большой глубиной вложения контейнеров (настройки генераторов документов, шаблоны, описания структур т т.п., - просто не знал сначала, как сделать его многооконным)
2) написал к этому mainWindow main_app со всем работающим функционалом
3) вынес все-таки один редактор в отдельный окно/класс …
когда стал пытаться делать управление окнами, - стразу стало понятно, что реализации многооконного приложения нужно знать общие правила для построения приложения - проекта.
Есть что-то подобное - типа стандартного правильного подхода к разработке сложного приложения,
советы, рекомендации, как построить так приложение, чтобы потом не попасть на бесконечную перестройку при отладке..
просмотрел много разных курсов , но как-то не припомню советов именно в нужном разрезе ..
может, ссылки на страницы, где это обсуждается , хотя бы
спасибо ответившим
Офлайн
xkeinЭто звучит неконкретно и может означать что угодно. Конкретно напиши “я сделал такую-то такую-то фигню, сделал её так-то и так-то, а работала она потом вот там и вот там с такими-то такими-то результатами”.
но создавать собственные проекты и решать весьма сложные задачи приходилось
xkeinНу, PyQt сделано из Qt. Ты делал что-нибудь на Qt? Знаешь, как оно устроено вообще?
рисую свое первое приложение на PyQt и питоне вообще
xkeinЧто значит “отдельный окно/класс”?
3) вынес все-таки один редактор в отдельный окно/класс
xkeinЗачем написал, если это всё не работает? В чём смысл?
2) написал к этому mainWindow main_app со всем работающим функционалом
Отредактировано py.user.next (Фев. 3, 2023 01:13:42)
Офлайн
Я задал конкретный вопрос - правильные/ стандартные подходы к структуре многооконных приложения на под фреймворком PyQt/PySide, - дать ссылки на источники, где эти вопросы разбираются.
Если не знаете, как работает Qt-designer и как с его помощью строятся приложения, какие ошибки обычно делают начинающие, то зачем лезть в эту ветку и писать всякий бред?
Я пишу вопрос в ветке для новичков, это значит, что я не обладаю “достаточной квалификацией” для решения своих задач, учусь на своих ошибках, - я этого не скрываю, мен нужна именно консультация для начинающего питонщика….
Разработка с использованием QT-дизайнера имеет свою специфику, этот инструмент позволяет относительно легко и быстро нарисовать много окон (каждое генерится в Py-код в ООП-стиле в виде отдельного класса), которые потом импортируются (не уверен, что правильно использую терминологию) в “главный модуль”. В итоге возникла проблема сборки всего приложения из нескольких различных модулей, не уверен, что делаю приложение, как одну задачу, правильно, хочется найти источники, где именно это разбирается ….
Надеюсь, что на вопросы в ветке для новичков здесь отвечают не только менты ((…
Еще спасибо, всем, кто помогает новичкам в питоне.
Офлайн
> Структура многооконного приложения на PyQt/PySide
Я не думаю что это нужно вообще как то отдельно регламентировать, в любом случае всё зависит от конкретной ситуации. Основные принципы которых нужно придерживаться такие:
1) Используем дизайнер.
2) Должно быть одно основное окно унаследованное от QMainWindow
3) Подчинённые окна наследуются от QDialog
4) Для хранения иконок/шрифтов и прочего нужно использовать ресурсы.
Офлайн
xkeinС помощью Qt-дизайнера никакие приложения не строятся. Дизайнер автоматизирует только настройку окон, потому что окна эти можно делать вообще без дизайнера. А приложение - это не окна. Окна лишь отображают то, что происходит внутри приложения.
Если не знаете, как работает Qt-designer и как с его помощью строятся приложения
xkeinБольшие сомнения есть, что ты понимаешь, о чём ты говоришь. Ты говоришь “я писал сложное чототама”, тебе говорят “а что ты писал?”, ты говоришь “да вы менты поганые! вы меня что, на чистую воду выводите?! я сейчас из-за вас возьму и пойму, что я, оказывается, нихера не умею”.
правильные/ стандартные подходы к структуре многооконных приложения
xkeinНу, и как ты стал делать управление окнами? через главное окно что ли?
когда стал пытаться делать управление окнами, - стразу стало понятно, что реализации многооконного приложения нужно знать общие правила для построения приложения - проекта.
xkeinДа ты, наоборот, лучше вот эту свою гениальность куда-нибудь засунь подальше, потому что она тебе мешает воспринимать информацию. Ты с чего-то взял, что ты какой-то специалист, при этом вопросы у тебя ни к селу ни к городу. Кто тебя убедил, что ты там в чём-то разбираешься, я не знаю даже. Может, ты говношколу какую-нибудь прошёл типа скилбокс или наподобие и они тебе сертификат выдали, что ты теперь крут. Или же ты там делал для каких-то бухгалтерш что-то, на соплях слепил, а потом они тебе аплодировали стоя, какие-то несколько дур, которые вообще ничего не смыслят ни в чём. Вот это всё не показатель.
Коллеги, подскажите, пожалуйста, где об этом можно почитать - нужна внятная статья на эту, а не бесконечный урок, где автор что-то свое рассказывает …
Офлайн
Rodegast
> Структура многооконного приложения на PyQt/PySideЯ не думаю что это нужно вообще как то отдельно регламентировать, в любом случае всё зависит от конкретной ситуации. Основные принципы которых нужно придерживаться такие:1) Используем дизайнер.2) Должно быть одно основное окно унаследованное от QMainWindow3) Подчинённые окна наследуются от QDialog4) Для хранения иконок/шрифтов и прочего нужно использовать ресурсы.
Офлайн
> В итоге возникло неуверенность, как вообще правильно строю свое первое приложение … полное ощущение, что по ходу придется все бесконечно менять по кругу
Если получившейся результат всех устраивает, то всё нормально. А “менять по кругу” тоже нормально, без этого ни одно серьёзное приложение не обходится ; )
Офлайн
Т.е. у всех так, не только у начинающих в питоне? )
нашел еще несколько примеров о создании связей в приложении из нескольких окон, в примерах классы окон состоят из одной кнопки и одной label для вывода сигнала из другого окна, в реальном приложении в классах десятки виджетов, тысячи строк кода обработки сигналов, как это корректно хранить и выдергивать , чтобы было удобно тестировать, отлаживать, развивать ….. видимо, здесь поможет только собственный опыт..
попробую найти в этом и положительные стороны )
Еще раз спасибо за ответы.
Офлайн
xkeinУ тебя хотя бы есть понимание, что это должно быть отделено друг от друга? Ты что-нибудь слышал про MVC? Это не панацея и не решит прямо всё и просто такая примочка, но если ты и про это не знаешь, то тебе можно только посочувствовать. Такой великий гений и не знает про такие элементарнейшие вещи.
в примерах классы окон состоят из одной кнопки и одной label для вывода сигнала из другого окна, в реальном приложении в классах десятки виджетов, тысячи строк кода обработки сигналов, как это корректно хранить и выдергивать , чтобы было удобно тестировать, отлаживать, развивать
xkeinМнение просто запихни про свою гениальность куда-нибудь подальше и поглубже и тогда у тебя получится учиться, воспринимать информацию из разных источников, выискивать там крупицы какие-то полезные и так далее. Везде можно что-то найти, а ты свою умность тупую выставляешь вперёд и вот источники у тебя все дерьмовыми становятся сразу и с них прям невозможно учиться.
видимо, здесь поможет только собственный опыт
xkeinЧтобы было удобно тестировать, отлаживать и развивать, окна должны быть отделены от логики. А логика строится потом самыми обычными способами, как строится любая логика в любой программе любой сложности.
чтобы было удобно тестировать, отлаживать, развивать
Отредактировано py.user.next (Фев. 3, 2023 22:35:13)
Офлайн