Найти - Пользователи
Полная версия: Проблемы переносимости и распространения программ на Python
Начало » Флейм » Проблемы переносимости и распространения программ на Python
1 2 3
The gray Cardinal
ZZZ
Сначала попробуй собрать, а потом отпишись о результатах.
Пока что есть только проблемы :).
С размерами разобрались — нужно обрабатывать всё upx'ом (там lzma), и должно получиться сносно.
Но я где-то заблудился в трёх соснах с путями…
ZZZ
Думаю тебе будет интересно узнать, что под MacOS X Leopard с Qt-4.4.3 и PyQt-4.4.3 двойной щелчёк работает нормально.

The gray Cardinal
Пока что есть только проблемы .
У меня в Опере эта ветка отказывается грузиться. Ты там зря столько когда выложил.

Так что я немного поофтопичу здесь.
- На кой х… фих ты поставил этот “Пластик”? Мне нравится моя аква!!! Под виндой оно, может, и оправдано, но не в Linux и уж тем более не в MacOS X.
- В счёте сделай кнопку “Закрыть”, а то в маке не принято дефолтно в заголовках левых диалогов рисовать три стандартные кнопки. И это правильно. Удобно.
- Там же. Сделай таблице setSelectionBehavior(QAbstractItemView.SelectRows) и setSelectionMode(QAbstractItemView.SingleSelection). Типа приятнее будет.
- Для "Отменить последний ход" традиционно используется control+Z (под mac будет автоматически транслированно в comand+Z).
- Сделай в меню "About Python“, ”About Qt“ и ”About PyQt".
- И разберись с системой ресурсов в Qt4 и PyQt4 в частости. У тебя много бреда можно заменить. Постучись в личку, я тебе кину скриптик для автокомпила ui и qrc в проекте. Я его, правда под линуху писал и очень давно… Но работает.
Больше пока нареканий нет. Вернее есть, но это ещё большие мелочи, чем то, что я сказал.

Но есть пала умных мыслей.
- Сделай фулскрин по control+F – приколько будет. Но это не так-то просто…
- Ну и явно не хватает автосейва и автозагрузки, что как раз не сложно и даст возможность при смене языка нормально перегрузить виджеты, без перезагрузки программы.

Ну и последнее, что я скажу… Архитектура программы хромает на все четыре ноги!
Нельзя впихивать логику программы в класс главного окна! Главное окно, это всего лишь ОКНО, и ничего больше. Пусть оно хоть десять раз главное! Я обычно делаю центральный класс Main(QObject), которому при создвнии передаю уже созданный объект QApplication. Потом (в __init__) создаю MainWindow, SystemTrayIcon, DataBase… и связываю всё это коннектами. Например QtGui я никогда даже не импортирую внутри модуля, описывающего базу данных…
И нельзя такой объём в одном файле писать! Разбей на части. Хотя в твоём случае, это будет практически перепись всего кода.
Вообще в PyQt принято один класс в один модуль. Ну кроме чего-то небольшого вспомогательного, что может лежать и в одном месте, где это используется. Некоторые могут это оспорить, но мне кажется это верным подходом.
.Serj.
К сожалению в линукс нет нормальной системы пакетов программ, поэтому приходится извращаться.
Поправка: нет единой системы управления пакетами. Все системы управления, с которыми приходилось работать(apt, emerge, pacman, urpmi) нареканий не вызывали.
приходится извращаться
А easy-deb и rpm-python-build не сильно исправляют положение?
balu
ZZZ
К сожалению в линукс нет нормальной системы пакетов программ
apt+dpkg чем плох?
bialix
игры лучше писать на pygame.

насчет посдених версий PyQt: я занимаюсь поддержкой проекта QBzr (Qt-GUI для Bazaar VCS) и могу точно сказать, что под виндой с PyQt 4.4.2 проблем гораздо больше чем с PyQt 4.3.1. Последняя и более стабильная и “фичастая”. Так что – см. начало моего ответа.
The gray Cardinal
ZZZ
Думаю тебе будет интересно узнать, что под MacOS X Leopard с Qt-4.4.3 и PyQt-4.4.3 двойной щелчёк работает нормально.
Да, спасибо :).
ZZZ
У меня в Опере эта ветка отказывается грузиться.
Тем хуже для Оперы ;). FF и IE — вообще никаких проблем.
ZZZ
И разберись с системой ресурсов в Qt4 и PyQt4 в частости.
Не совсем понимаю, что такое “система ресурсов”.
Остальные замечания понятны, спасибо. Правда, они довольно мелкие.
Насчёт архитектуры — разбивать файл на несколько файлов просто нет смысла. Кому от этого станет удобнее, в данном случае?
ZZZ
.Serj. и balu, да, я неправильно сказал.
Сначала проясню ситуацию. Года, так эдак с 2000-го я перестал воспринимать винду, как операционную систему. Ох и много же я тогда перепробовал… Жаль QNX оказался не по корману… И долгие годы моей рабочей лошадкой был Linux. Лишь прошлым летом я поменял его на MacOS X и не сказать, чтобы был очень рад. Хотя привык и уже по своей воле не слезу.
Так вот. Хороших пакетных систем много (больше всего люблю ебилды… вовсе не за название!). Но это для меня удобно, для вас… А обычному пользователю надо так, чтобы он притащил дискетку с программой, воткнул её, сделал два понятных ему клика и прога заработала! Чтобы он не думал про то, как поставить её в систему, какие библиотеки ей нужны, не устарело ли чего и нет ли конфликтов каких… А просто воткнул, нажал и заработало! Вот этого в Linux и *nix (!mac) нет и не предвидится. И не будет этого до тех пор, пока кто-нить не отойдёт от unix-way.
Я посмотрел, как это реализовано на MacOS X… Просто красота! У меня руки чешуться сделать такое под KDE. Да, дорогие мои, это не в консоле делать, а именно в оболочке. Я люблю KDE, кто-то любит Gnome… Ну что ж, система должна быть общей… Вот только у меня KDE нет… :-) Если попадётся какой-нить дистр линухи с KDE4, да такой, чтобы он нормально в Parallels Desktop for mac работал… Посмотрю. Подумаю. Скажу лишь то, что там будет довольно обширный проект, ибо не всё так просто, как на самом деле. :-)
The gray Cardinal
ZZZ
И не будет этого до тех пор, пока кто-нить не отойдёт от unix-way.
Надеюсь, что будет. Unix-way не при чём, имхо.
В ветке обсуждения игрухи подрезал массивный код.
Я там запутался в путях, похоже (2-ая страница ветки). Если поможешь — спасибо.
ZZZ
The gray Cardinal
Не совсем понимаю, что такое “система ресурсов”.
Утилита pyrcc4 и всё с ней связанное. Посмотри в доке по PyQt4.

The gray Cardinal
Насчёт архитектуры — разбивать файл на несколько файлов просто нет смысла. Кому от этого станет удобнее, в данном случае?
Мне, например. Понимаешь, 1k строк кода в файле на PyQt, это много. Ты какой IDE пользуешься, если тебе это удобно? Мне с TextMate это жутко. Да и в моём когдато любимом Эрике это криво… Про Затмение я вообще молчу…
Да и дело с здесь даже не в количестве строк кода, а в смешивании логики и отображения. Этого нельзя делать. Для всякой мелочи может и катит, но потом на крупном начнёшь париться, так что лучше сразу учись делать правильно.
The gray Cardinal
ZZZ
Ты какой IDE пользуешься, если тебе это удобно?
Держись за спинку стула — я пользуюсь SciTE :). Неудобств с размером файла сильно не замечаю.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB