LINUX.ORG.RU

PyQt

 ,


0

2

Есть ли доступные для начинающего питонщика русскоязычные маны к сабжу? Хочется поковыряться, а в инглише зело деревянный.



Последнее исправление: zad1ra (всего исправлений: 2)

Ответ на: комментарий от anonymous

magnet:?xt=urn:btih:590A3209A19B2FAA596CA53631BBBBA2782D978A&tr=http%3A%2F%2Fbt4.t-ru.org%2Fann%3Fmagnet&dn=%D0%9F%D1%80%D0%BE%D1%85%D0%BE%D1%80%D0%B5%D0%BD%D0%BE%D0%BA%20%D0%9D.%2C%20%D0%94%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%20%D0%92.%20-%20Python%203%20%D0%B8%20PyQt%205.%20%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9%20%5B2016%2C%20PDF%2C%20RUS%5D

anonymous
()
Ответ на: комментарий от anonymous

а можно издание посвежее? хотя конечно к русским авторам предвзято отношусь, ничего не поделать. но с другой стороны потенциально лучше перевода с китайского

anonymous
()
Ответ на: комментарий от anonymous

Проблема в том, что даже англоязычные руководства старые и плохо совместимы с новыми версиями. Для использования нового PyQt в итоге всё равно придётся читать документацию на оф. сайте.

grem ★★★★★
()
Ответ на: комментарий от zad1ra

Здравствуйте. Лучше используйте официальную документацию, это раз. Второе, чтобы закрыть вопрос, пожалуйста, отметьте тему как решённую. Спасибо.

anonymous
()

Родной язык для Qt — C++.
Либо смирись, либо забей.
Рекомендую последнее.

Deleted
()
Ответ на: комментарий от WitcherGeralt

можно через модули прикрутить многопоточность. А вот то, что нужен интерпретатор - да, проблема. Для офтопика есть py2exe, но это тот ещё костыль.

anonymous
()

а что там ковырять? я в свое время просто документацию к Qt читал. http://doc.qt.io/ вот все доки.

tz4678 ★★
()
Ответ на: комментарий от anonymous

Это ты путаешь. Там хотя бы xml из Glade можно загрузить, а не делать из него .py скрипт.

ArkaDOSik ★★
()
Ответ на: комментарий от WitcherGeralt

есть потоки и абстракция над процессами, которая позволяет с ними работать так же как с потоками, есть и асинхронность. не вводи людей в заблуждение. в pyqt кстати лучше кутишные потоки использовать

tz4678 ★★
()
Ответ на: комментарий от WitcherGeralt

PyPy с PyGobject в последних версиях работает. Ждём стабильного билда для оффтопика, вообще красота будет.

Не знаю как в PyQt, знакомился поверхностно, но в Pygobject без «import threading» особо ничего не напишешь и это хорошо.

ArkaDOSik ★★
()
Ответ на: комментарий от anonymous

через модули прикрутить многопоточность

вранье. в cpython нет многопоточности без GIL и никаким модулями это не исправить.

anonymous
()
Ответ на: комментарий от Deleted

на линухах есть куча кутишных приложений на питоне. например, недавно использовал биткойн-клиент electrum или среды разработки eri ide, spyder... это все pyqt. работают стабильно.

tz4678 ★★
()
Ответ на: комментарий от tz4678

Ага, потоки, самое большее, что есть — simple_thread, где ты у тебя только копии объектов, и мультипроцессинг, где всё ещё хуже. Асинхронность есть, да, но это не одно и то же. QThread позволяет обмениваться данными только через свои абстракции, это значимое ограничение, но жить можно. конечно, тут ты прав.

WitcherGeralt ★★
()
Ответ на: комментарий от tz4678

При использовании multiprocessing GIL уже нет

Зато есть множественное копирование памяти.

WitcherGeralt ★★
()

Лучше маны по инглишу почитай сначала

annulen ★★★★★
()
Ответ на: комментарий от WitcherGeralt

программист это как раз тот, кто делает программы, а не красноглазый пердолик, озлобленный тем, что мало кто хочет пердолиться с уродливым языком, у которого описание в полторы тыщи страниц

anonymous
()
Ответ на: комментарий от WitcherGeralt

Тем, что многие возможности Qt являются велосипедами в питоне. И вместо того, чтобы и отображать гуй, и отправлять данные через QNetwork на QServer через QSocket в QТhread'e (образно, но на самом деле оно примерно так), можно выделить несколько потоков из родного питонячего функционала под обработку данных и один - под GUI (именно гуй, а не все на свете из одной либы). А больше потоков именно GUI и не надо.

ArkaDOSik ★★
()
Ответ на: комментарий от anonymous

красноглазый пердолик, озлобленный

Ты сейчас себя описал, так, что точнее и не скажешь

grem ★★★★★
()
Ответ на: комментарий от tz4678

multiprocessing

Насколько я слышал, питоновский multiprocessing - это будут процессы.

Видимо ты не знаешь, что такое потоки и процессы. Обычная многопоточность - это кода в рамках одно процесса работают несколько линий исполнения и они имеют непосредственный доступ к одной и той же памяти, причем доступ беспрепятственный, сериализуешь ты его сам если нужно. Это чтоб ты знал, для образования тебе.

GIL тебе никак не мешает

Нет он мешает. Многопоточное программирование малополезно если у тебя два потока не могут одноврменно работать. Так что «куйню» здесь пишешь ты.

anonymous
()
Ответ на: комментарий от anonymous

я знаю что такое процессы. они через пайпы общаются, объекты через них же передаются, т. е. для использования multiprocessing объект должен сериализоваться через pickles (с cookiejar у меня проблемы были). короче: ты очередной идиот-всезнайка.

tz4678 ★★
()
Ответ на: комментарий от WitcherGeralt

На С++ 10 лет понадобится.

Ты видимо из нового поколения (свалившихся с луны), которые не в курсе, что писать гуи программы без С++, быстро, использую нормальные работающие контролы вполне можно было раньше. 15 лет назад я писал на Visual Basic программы. Казалось бы технологии за это время продвинулись, но похоже что наоборот. Раньше не падающую программу которая что-то делала школьник мог написать за пару часов, не почти никакими знаниями. Знакомый вспоминал недавно Delphi - примерно тоже самое говорит. Сейчас надо учиться С++ и Qt, потом «пердолиться». И оно еще и притормаживать будет сильнее чем прога на VB на пентиуме 200 мегагерц. Или я чего-то не понимаю...

anonymous
()
Ответ на: комментарий от tz4678

GIL тебе никак не мешает

Скажи, сколько ты написал многопоточных программ на питоне? Ну или перенес, например с джавы на питон? Что-то мне, кажется, что ты не написал ни одной, но с уверенным видом рассуждаешь. Потому что человек, который действительно знает о чем говорит, он такого бреда как ты сказать не может. Если у тебя два треда не могут крутить свой код одноврменно, то никакого малтитрединга, у тебя, считай вообще нет. Ты обосрался, короче говоря.

я знаю что такое процессы. они через пайпы общаются, объекты через них же передаются, т. е. для использования multiprocessing объект должен сериализоваться через pickles

Какое отношение это имеет к «многопоточному программированию»?

thomasbug
()
Ответ на: комментарий от anonymous

Анончик, вот тут согласен.

Они все время пилят революционные суперинструменты, у которых порой даже нормального дизайнера интерфейсов нет (у культей есть, но с питоном оно через костыли и тормозить будет). «Windows Forms UI Designer» будет только в VS 2019, а раньше нельзя было? Все вот эти вот обертки над WinAPI на винде и GTK на линуксе иногда даже нормальных доков не имеют, не то что дизайнера. Мы деградируем, только дед Билл Гейтс знал, что нужно людям: возить мышкой и клепать интерфейсы. Это же так просто сделать, но по факту оно есть только у Qt, а он на С++. И я не говорю о том, что раньше была цельная IDE по типу Delphi.

Сейчас Gnome Builder подает надежды: поддержка Red Hat, встроенный редактор интерфейсов (будет в 3.32, но альфа из флатпака уже выглядит хорошо), куча языков и плагинов для них. Но его еще пилить и пилить: вылеты бывают частенько, пока неюзабелен ввиду некоторых причин, но их все меньше.

ArkaDOSik ★★
()
Ответ на: комментарий от ArkaDOSik

а вот и новость в тему - выход Qt 5.12:

В число полностью поддерживаемых переведён набор модулей «Qt for Python» для создания графических приложений на языке Python с использованием Qt5 (для разработчиков на языке Python предоставляется большая часть C++ API Qt). Qt for Python основан на модуле PySide2 и продолжает его развитие (по сути под новым именем предлагается первый выпуск PySide с поддержкой Qt 5);

anonymous
()
Ответ на: комментарий от ArkaDOSik

Windows Forms UI Designer

Так он же там с 2002 вроде бы. И продолжает быть вроде как. Или там какой-то улучшеный будет? Дело просто в том, что WinForms забросили, в таком виде он тупиковый. В WPF вроде «верстка» отделена правильно от кода, добавили систему раположения элементов вроде гибкую, даже датабайндинг вроде был какой-то. Но его же тоже уже лет 5 как MS выбросил на помойку, если я все правильно понимаю.

по факту оно есть только у Qt

у javaFX есть «дизайнер», который вроде бы меняет только декларативную часть, т.е. не должен ломать твой код. но он вроде бы отдельно от IDE. да и ее тоже выбросили на помойку официально.

возить мышкой и клепать интерфейсы

так ты же при этом еще и нормально программировать можешь, любой сложности программу можно писать. может быть не на VB6 конечно, но в целом это так.

thomasbug
()
Ответ на: комментарий от ArkaDOSik

разве это не другой независимый проект? тот вроде riverbank какой-то, а это другой который теперь поддерживает сама qt. хотя может я путаю.

thomasbug
()
Ответ на: комментарий от thomasbug

У PySide и PyQt одинаковый API, а проекты разные.

так ты же при этом еще и нормально программировать можешь, любой сложности программу можно писать. может быть не на VB6 конечно, но в целом это так.

А чем мешает? Банальщину вроде диалогов клепать мышкой, а сложные виджеты писать самому.

ArkaDOSik ★★
()
Ответ на: комментарий от thomasbug

Так он же там с 2002 вроде бы.

Они в плане выпиливания всего и вся круче разработчиков гнома. В VS 2012 выпилили WinForms для C++, хотели переманить разработчиков на сишарп, а переманили на Qt. По-моему они и это выпилили, хотя точно не помню.

ArkaDOSik ★★
()
Ответ на: комментарий от thomasbug

ни одно. я столько этих ботов написал для парсинга сайтов... так что вкратце саси. пришел очередной тсарь посраться на тему в питоне нет тредов.

tz4678 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.