Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Флейм
  • » Проблемы переносимости и распространения программ на Python [RSS Feed]

#1 Янв. 30, 2009 00:26:56

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

ZZZ
Сначала попробуй собрать, а потом отпишись о результатах.
Пока что есть только проблемы :).
С размерами разобрались — нужно обрабатывать всё upx'ом (там lzma), и должно получиться сносно.
Но я где-то заблудился в трёх соснах с путями…



Офлайн

#2 Янв. 30, 2009 01:56:29

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Проблемы переносимости и распространения программ на Python

Думаю тебе будет интересно узнать, что под 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 принято один класс в один модуль. Ну кроме чего-то небольшого вспомогательного, что может лежать и в одном месте, где это используется. Некоторые могут это оспорить, но мне кажется это верным подходом.



Отредактировано (Янв. 30, 2009 02:03:36)

Офлайн

#3 Янв. 30, 2009 07:43:36

.Serj.
От:
Зарегистрирован: 2008-09-27
Сообщения: 181
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

К сожалению в линукс нет нормальной системы пакетов программ, поэтому приходится извращаться.
Поправка: нет единой системы управления пакетами. Все системы управления, с которыми приходилось работать(apt, emerge, pacman, urpmi) нареканий не вызывали.
приходится извращаться
А easy-deb и rpm-python-build не сильно исправляют положение?



Офлайн

#4 Янв. 30, 2009 08:00:57

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

ZZZ
К сожалению в линукс нет нормальной системы пакетов программ
apt+dpkg чем плох?



Офлайн

#5 Янв. 30, 2009 22:38:30

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

игры лучше писать на pygame.

насчет посдених версий PyQt: я занимаюсь поддержкой проекта QBzr (Qt-GUI для Bazaar VCS) и могу точно сказать, что под виндой с PyQt 4.4.2 проблем гораздо больше чем с PyQt 4.3.1. Последняя и более стабильная и “фичастая”. Так что – см. начало моего ответа.



Офлайн

#6 Янв. 30, 2009 23:18:11

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

ZZZ
Думаю тебе будет интересно узнать, что под MacOS X Leopard с Qt-4.4.3 и PyQt-4.4.3 двойной щелчёк работает нормально.
Да, спасибо :).
ZZZ
У меня в Опере эта ветка отказывается грузиться.
Тем хуже для Оперы ;). FF и IE — вообще никаких проблем.
ZZZ
И разберись с системой ресурсов в Qt4 и PyQt4 в частости.
Не совсем понимаю, что такое “система ресурсов”.
Остальные замечания понятны, спасибо. Правда, они довольно мелкие.
Насчёт архитектуры — разбивать файл на несколько файлов просто нет смысла. Кому от этого станет удобнее, в данном случае?



Офлайн

#7 Янв. 30, 2009 23:46:32

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Проблемы переносимости и распространения программ на Python

.Serj. и balu, да, я неправильно сказал.
Сначала проясню ситуацию. Года, так эдак с 2000-го я перестал воспринимать винду, как операционную систему. Ох и много же я тогда перепробовал… Жаль QNX оказался не по корману… И долгие годы моей рабочей лошадкой был Linux. Лишь прошлым летом я поменял его на MacOS X и не сказать, чтобы был очень рад. Хотя привык и уже по своей воле не слезу.
Так вот. Хороших пакетных систем много (больше всего люблю ебилды… вовсе не за название!). Но это для меня удобно, для вас… А обычному пользователю надо так, чтобы он притащил дискетку с программой, воткнул её, сделал два понятных ему клика и прога заработала! Чтобы он не думал про то, как поставить её в систему, какие библиотеки ей нужны, не устарело ли чего и нет ли конфликтов каких… А просто воткнул, нажал и заработало! Вот этого в Linux и *nix (!mac) нет и не предвидится. И не будет этого до тех пор, пока кто-нить не отойдёт от unix-way.
Я посмотрел, как это реализовано на MacOS X… Просто красота! У меня руки чешуться сделать такое под KDE. Да, дорогие мои, это не в консоле делать, а именно в оболочке. Я люблю KDE, кто-то любит Gnome… Ну что ж, система должна быть общей… Вот только у меня KDE нет… :-) Если попадётся какой-нить дистр линухи с KDE4, да такой, чтобы он нормально в Parallels Desktop for mac работал… Посмотрю. Подумаю. Скажу лишь то, что там будет довольно обширный проект, ибо не всё так просто, как на самом деле. :-)



Офлайн

#8 Янв. 30, 2009 23:51:18

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

ZZZ
И не будет этого до тех пор, пока кто-нить не отойдёт от unix-way.
Надеюсь, что будет. Unix-way не при чём, имхо.
В ветке обсуждения игрухи подрезал массивный код.
Я там запутался в путях, похоже (2-ая страница ветки). Если поможешь — спасибо.



Офлайн

#9 Янв. 31, 2009 00:18:34

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Проблемы переносимости и распространения программ на Python

The gray Cardinal
Не совсем понимаю, что такое “система ресурсов”.
Утилита pyrcc4 и всё с ней связанное. Посмотри в доке по PyQt4.

The gray Cardinal
Насчёт архитектуры — разбивать файл на несколько файлов просто нет смысла. Кому от этого станет удобнее, в данном случае?
Мне, например. Понимаешь, 1k строк кода в файле на PyQt, это много. Ты какой IDE пользуешься, если тебе это удобно? Мне с TextMate это жутко. Да и в моём когдато любимом Эрике это криво… Про Затмение я вообще молчу…
Да и дело с здесь даже не в количестве строк кода, а в смешивании логики и отображения. Этого нельзя делать. Для всякой мелочи может и катит, но потом на крупном начнёшь париться, так что лучше сразу учись делать правильно.



Офлайн

#10 Янв. 31, 2009 00:23:00

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы переносимости и распространения программ на Python

ZZZ
Ты какой IDE пользуешься, если тебе это удобно?
Держись за спинку стула — я пользуюсь SciTE :). Неудобств с размером файла сильно не замечаю.



Офлайн

  • Начало
  • » Флейм
  • » Проблемы переносимости и распространения программ на Python[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version