а можно издание посвежее? хотя конечно к русским авторам предвзято отношусь, ничего не поделать. но с другой стороны потенциально лучше перевода с китайского
Проблема в том, что даже англоязычные руководства старые и плохо совместимы с новыми версиями. Для использования нового PyQt в итоге всё равно придётся читать документацию на оф. сайте.
есть потоки и абстракция над процессами, которая позволяет с ними работать так же как с потоками, есть и асинхронность. не вводи людей в заблуждение. в pyqt кстати лучше кутишные потоки использовать
на линухах есть куча кутишных приложений на питоне. например, недавно использовал биткойн-клиент electrum или среды разработки eri ide, spyder... это все pyqt. работают стабильно.
Ага, потоки, самое большее, что есть — simple_thread, где ты у тебя только копии объектов, и мультипроцессинг, где всё ещё хуже. Асинхронность есть, да, но это не одно и то же. QThread позволяет обмениваться данными только через свои абстракции, это значимое ограничение, но жить можно. конечно, тут ты прав.
программист это как раз тот, кто делает программы, а не красноглазый пердолик, озлобленный тем, что мало кто хочет пердолиться с уродливым языком, у которого описание в полторы тыщи страниц
Тем, что многие возможности Qt являются велосипедами в питоне. И вместо того, чтобы и отображать гуй, и отправлять данные через QNetwork на QServer через QSocket в QТhread'e (образно, но на самом деле оно примерно так), можно выделить несколько потоков из родного питонячего функционала под обработку данных и один - под GUI (именно гуй, а не все на свете из одной либы). А больше потоков именно GUI и не надо.
Насколько я слышал, питоновский multiprocessing - это будут процессы.
Видимо ты не знаешь, что такое потоки и процессы. Обычная многопоточность - это кода в рамках одно процесса работают несколько линий исполнения и они имеют непосредственный доступ к одной и той же памяти, причем доступ беспрепятственный, сериализуешь ты его сам если нужно. Это чтоб ты знал, для образования тебе.
GIL тебе никак не мешает
Нет он мешает. Многопоточное программирование малополезно если у тебя два потока не могут одноврменно работать. Так что «куйню» здесь пишешь ты.
я знаю что такое процессы. они через пайпы общаются, объекты через них же передаются, т. е. для использования multiprocessing объект должен сериализоваться через pickles (с cookiejar у меня проблемы были). короче: ты очередной идиот-всезнайка.
Ты видимо из нового поколения (свалившихся с луны), которые не в курсе, что писать гуи программы без С++, быстро, использую нормальные работающие контролы вполне можно было раньше. 15 лет назад я писал на Visual Basic программы. Казалось бы технологии за это время продвинулись, но похоже что наоборот. Раньше не падающую программу которая что-то делала школьник мог написать за пару часов, не почти никакими знаниями. Знакомый вспоминал недавно Delphi - примерно тоже самое говорит. Сейчас надо учиться С++ и Qt, потом «пердолиться». И оно еще и притормаживать будет сильнее чем прога на VB на пентиуме 200 мегагерц. Или я чего-то не понимаю...
Скажи, сколько ты написал многопоточных программ на питоне? Ну или перенес, например с джавы на питон? Что-то мне, кажется, что ты не написал ни одной, но с уверенным видом рассуждаешь. Потому что человек, который действительно знает о чем говорит, он такого бреда как ты сказать не может. Если у тебя два треда не могут крутить свой код одноврменно, то никакого малтитрединга, у тебя, считай вообще нет. Ты обосрался, короче говоря.
я знаю что такое процессы. они через пайпы общаются, объекты через них же передаются, т. е. для использования multiprocessing объект должен сериализоваться через pickles
Какое отношение это имеет к «многопоточному программированию»?
Они все время пилят революционные суперинструменты, у которых порой даже нормального дизайнера интерфейсов нет (у культей есть, но с питоном оно через костыли и тормозить будет). «Windows Forms UI Designer» будет только в VS 2019, а раньше нельзя было? Все вот эти вот обертки над WinAPI на винде и GTK на линуксе иногда даже нормальных доков не имеют, не то что дизайнера. Мы деградируем, только дед Билл Гейтс знал, что нужно людям: возить мышкой и клепать интерфейсы. Это же так просто сделать, но по факту оно есть только у Qt, а он на С++. И я не говорю о том, что раньше была цельная IDE по типу Delphi.
Сейчас Gnome Builder подает надежды: поддержка Red Hat, встроенный редактор интерфейсов (будет в 3.32, но альфа из флатпака уже выглядит хорошо), куча языков и плагинов для них. Но его еще пилить и пилить: вылеты бывают частенько, пока неюзабелен ввиду некоторых причин, но их все меньше.
В число полностью поддерживаемых переведён набор модулей «Qt for Python» для создания графических приложений на языке Python с использованием Qt5 (для разработчиков на языке Python предоставляется большая часть C++ API Qt). Qt for Python основан на модуле PySide2 и продолжает его развитие (по сути под новым именем предлагается первый выпуск PySide с поддержкой Qt 5);
Так он же там с 2002 вроде бы. И продолжает быть вроде как. Или там какой-то улучшеный будет? Дело просто в том, что WinForms забросили, в таком виде он тупиковый. В WPF вроде «верстка» отделена правильно от кода, добавили систему раположения элементов вроде гибкую, даже датабайндинг вроде был какой-то. Но его же тоже уже лет 5 как MS выбросил на помойку, если я все правильно понимаю.
по факту оно есть только у Qt
у javaFX есть «дизайнер», который вроде бы меняет только декларативную часть, т.е. не должен ломать твой код. но он вроде бы отдельно от IDE. да и ее тоже выбросили на помойку официально.
возить мышкой и клепать интерфейсы
так ты же при этом еще и нормально программировать можешь, любой сложности программу можно писать. может быть не на VB6 конечно, но в целом это так.
Они в плане выпиливания всего и вся круче разработчиков гнома. В VS 2012 выпилили WinForms для C++, хотели переманить разработчиков на сишарп, а переманили на Qt. По-моему они и это выпилили, хотя точно не помню.