проблема у меня такая — 5 лет писал только для веба и к тому же на php
код форматировать правильно научился :)
но сейчас начал писать первые скрипты с gui на python3/pyqt4 и понял что все делаю так, как я делал на php.
соответственно и проблемы начали вылазить именно связанные с таким подходом
что-то уже начинаю понимать, но надоело идти своим путем во всем, я понимаю что делать с нуля интересно и полезно, но таким способом нельзя создать действительно хорошие инструменты для своей работы.
что посоветуете почитать про создание оконного софта в принципе?
т.е. вот например можно самому понять что для работы с конфигом необходимо делать некую прослойку:
gui <-> класс работы с gui <-> класс работы с конфигом <-> файл конфига
хочу почитать именно про это: про то, как правильно структурировать приложение, как обеспечить взаимодействие с GUI (ещё раньше читал что-то про состояния софта, в зависимости от которых гуи полностью меняется, а в коде достаточно лишь сменить текущее состояние — вот это хотелось бы изучить подробно)
как грамотно использовать многопоточность и тому подобное
пишу сюда, потому что книг много, чтение непотребных может убить во мне все желание читать дальше, поэтому возможно это краткое изложение моих желаний напомнит вам прочтенную ранее книгу, которая написана специально для этого.
Читал в одной умной книжке, что интерфейс следует отделять от бизнес-логики. И в вебе и в настольных приложениях это правило должно соблюдаться.
На самом деле концепция одна: интерфейсные элементы генерируют события, приложение ловит нужные события и реагирует на них. То же самое происходит и в вебе: интерфейс «посылает сообщение» (генерирует событие), которое получает контроллер и транслирует его нужной части приложения, которая на него реагирует.
Думаю, что основные концепции Вы уже знаете, необходимо тоолько вникнуть в модель, которую использует конкретная библиотека. А в мануале pyqt не рассказывается об основных механизмах?
спасибо, но это не совсем то, что я хотел бы найти
про особенности реализации я доки всегда найду в гугле
вот простой пример, что я увидел в одном кьют-примере:
у приложения 2-3 состояния — в одном мы видим элементы для отображения неких записей, в другом элементы для добавления, в третьем — ещё что-то.
соответственно, для переключения состояний пишется отдельный функционал и когда мы жмем «добавить» — вызывается лишь 1 метод ->changeState('add')
но это лишь единичный прием, использованный в примитивном примере адресной книги на qt
мне хотелось бы найти литературу, которая описывает подобные приемы, техники построения хорошего крупного проекта с GUI
все-таки, в отличие от пхп-софта, десктоп софт обладает кучей преимуществ — можно запустить отдельный процесс, который будет чекать разные переменные и в соответствии с ними обновлять счетчики на экране, можно много ещё чего придумать, но я хотел бы почитать книги людей, которые на этом уже собаку съели и узнать методики, которые в принципе неприменимы к веб-скриптам