Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 9 ОтправитьПечать
Очень популярная тема (более 25 ответов) на связке Python + Qt пишу для себя чтото... (число прочтений - 70524 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #45 - 26. Ноября 2009 :: 08:20
Печать  
blindvic писал(а) 26. Ноября 2009 :: 07:48:
trdm писал(а) 25. Ноября 2009 :: 22:05:
Ну ты монстр
А отредактировать отчет перед печатью или сжать с использованием масштаба или опции по ширине листа твоя супер-отчетная система сможет?  Моя вот может: )))))
а в пдф я легко выгоню Улыбка)))) Не мучай ##пу Улыбка лучше разберись Улыбка))

Так нужны байндинги для питона к твоей компоненте

API - окончательный вариант?

Что значит "окончательный вариант"? Я планирую его развивать.
>>Так нужны байндинги для питона
ие.. не, пусть лучше и дальше с пдф ковыряется....
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #46 - 26. Ноября 2009 :: 08:32
Печать  
trdm писал(а) 26. Ноября 2009 :: 08:20:
Что значит "окончательный вариант"? Я планирую его развивать.

Ну, я имел в виду - не намечается значительных измнений в уже существующих способах обращения к функциям компоненты?
  
Наверх
 
IP записан
 
villager
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 101
Зарегистрирован: 21. Октября 2009
Re: на связке Python + Qt пишу для себя чтото...
Ответ #47 - 26. Ноября 2009 :: 17:23
Печать  
trdm писал(а) 25. Ноября 2009 :: 22:05:
Ну ты монстр
А отредактировать отчет перед печатью или сжать с использованием масштаба или опции по ширине листа твоя супер-отчетная система сможет?  Моя вот может: )))))


для редактирования как раз и будет формат RTF
сжатие/масштабирование - как раз это и не нужно

нужно как можно проще и точнее описать макет отчета, без лишних заморочек и движений мышью
привязать к БД
сформировать
напечатать

в твоей системе привязки к БД нет
макета тоже не заметил Улыбка
(может плохо смотрел)

т.е. таблица (типа Excel)
а одной таблицей сложный макет не опишешь...

в моем варианте мне больше всего нравится возможность задать количество столбцов и ширину, например, первого (в сантиметрах или процентах) - а остальные сами поделят оставшееся место

остальное все как обычно
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #48 - 26. Ноября 2009 :: 19:25
Печать  
villager писал(а) 26. Ноября 2009 :: 17:23:
для редактирования как раз и будет формат RTF
сжатие/масштабирование - как раз это и не нужно

нужно как можно проще и точнее описать макет отчета, без лишних заморочек и движений мышью
привязать к БД
сформировать
напечатать

в твоей системе привязки к БД нет
макета тоже не заметил Улыбка
(может плохо смотрел)

т.е. таблица (типа Excel)
а одной таблицей сложный макет не опишешь...

в моем варианте мне больше всего нравится возможность задать количество столбцов и ширину, например, первого (в сантиметрах или процентах) - а остальные сами поделят оставшееся место

остальное все как обычно

Улыбка нас рассудит рынок и аудитория Улыбка посмотрим
  
Наверх
IP записан
 
villager
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 101
Зарегистрирован: 21. Октября 2009
Re: на связке Python + Qt пишу для себя чтото...
Ответ #49 - 27. Ноября 2009 :: 19:04
Печать  
trdm,
если волнует рынок и аудитория - держи совет:
сделай нормальную печать для html-таблиц - с разбиением на страницы по вертикали и горизонтали, с хедерами, футерами, с точными размерами и масштабированием. У  тебя уже почти все готово, надо только html прочитать,

куча народа будет благодарна

а то  отчеты в html строить легко, а печатать нечем Печаль

зы: была бы такая штука, я бы тут и не появился Улыбка
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #50 - 27. Ноября 2009 :: 20:27
Печать  
villager писал(а) 27. Ноября 2009 :: 19:04:
trdm,
если волнует рынок и аудитория - держи совет:
сделай нормальную печать для html-таблиц - с разбиением на страницы по вертикали и горизонтали, с хедерами, футерами, с точными размерами и масштабированием. У  тебя уже почти все готово, надо только html прочитать,
куча народа будет благодарна
а то  отчеты в html строить легко, а печатать нечем Печаль
зы: была бы такая штука, я бы тут и не появился Улыбка

Куда выслать счет, что-бы отблагодарили авансом?
Я на "дядю" только по предоплате работаю..
« Последняя редакция: 27. Ноября 2009 :: 23:56 - trdm »  
Наверх
IP записан
 
villager
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 101
Зарегистрирован: 21. Октября 2009
Re: на связке Python + Qt пишу для себя чтото...
Ответ #51 - 09. Декабря 2009 :: 22:44
Печать  
не прошло и 3 недель - приручен формат RTF!!!
на пути к RTF были проверены и отброшены варианты ODF, HTML(Word)
ODT - один и тоже файл по разному выглядят в разных редакторах
HTML - нельзя задать точно высоту строки
RTF одинаково выглядит в OO и Word (2003, 2007)
только в OO страничка на 0,1 см короче, и футер на следующую переносится
надо будет запас делать



в начале очень выручила статья http://www.devx.com/asp/Article/17964/1954

потом просто сохранял файл из Worda, и смотрел как и что

в крайних случаях смотрел Rich Text Format (RTF) Specification Version 1.7

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

сделаю складской учет...
  

zzr.rtf ( 185 KB | Загрузки )
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #52 - 10. Декабря 2009 :: 07:45
Печать  
Титан Улыбка
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #53 - 06. Января 2010 :: 23:04
Печать  
Вот, над чем работал:
http://www.youtube.com/watch?v=jk7p_m1ZXY4

Чтобы запустить систему на винде (прикрепленная версия тестировалась только на винде), надо установить
python-2.6.4.msi (http://www.python.org/download/)
PyQt-Py2.6-gpl-4.7-rc2-1.exe (http://www.riverbankcomputing.co.uk/software/pyqt/download)
  

m-py.7z ( 26 KB | Загрузки )
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #54 - 07. Января 2010 :: 09:49
Печать  
blindvic писал(а) 06. Января 2010 :: 23:04:
Вот, над чем работал:
http://www.youtube.com/watch?v=jk7p_m1ZXY4

У меня огнелис почему-то не открывает такие ссылки,
а вот такие: http://www.youtube.com/v/jk7p_m1ZXY4
можно смотреть.
ПС. Шас посмотрю Улыбка интересно Улыбка
  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #55 - 07. Января 2010 :: 12:52
Печать  
blindvic писал(а) 06. Января 2010 :: 23:04:
Вот, над чем работал:
http://www.youtube.com/watch?v=jk7p_m1ZXY4

Посмотрел видео, прикольно.
ОФФ Вопросы:
1. в какой среде работаешь, создаешь, отлаживаешь? какой редактор и т.д.?
2. увидел 2 формы, одновременно работающие в одном приложении. Это псевдопараллельность или вполне реальная?
ну т.е. ты в этих формах никакой код по параллельной работе не писал, все автоматом?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #56 - 07. Января 2010 :: 13:52
Печать  
artbear писал(а) 07. Января 2010 :: 12:52:
1. в какой среде работаешь, создаешь, отлаживаешь? какой редактор и т.д.?
2. увидел 2 формы, одновременно работающие в одном приложении. Это псевдопараллельность или вполне реальная?
ну т.е. ты в этих формах никакой код по параллельной работе не писал, все автоматом?

Во-первых, я рад, что кому-то стало интересно.

>т.е. ты в этих формах никакой код по параллельной работе не писал, все автоматом
все автоматом. каждая форма ссылается на ее модуль. Модули - на языке Питон и работают в том же контексте что и оболочка (т.е. система). Это имеет и плюсы и минусы. Ну, над минусами можно поработать. Плюсы: Система работает вместе с пользовательскими модулями в одном потоке и контексте, на одном языке, под одной технологией - виджеты, модули, события. Т.е. из любого модуля можно обратится любой части системы - меню, главному окну, и т.д.
Код
Выбрать все
class Liss ( QWidget ) :
    def __init__ ( self, parent = None ) :
        QWidget.__init__ ( self, parent )

        self.timer = QTimer ()
        self.timer.timeout.connect ( self.NextStep )
        ...

    def start ( self ) :
        self.timer.start ( 40 )

    def stop ( self ) :
        self.timer.stop ()
 


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

Питон поддерживает классы, множественное наследование, полиморфизм. Но все методы классов - виртуальные.
Цитата:
Любой метод можно переопределить, то есть повторно реализовать в подклассе, как в языке Java (за исключением методов со спецификатором final).
В терминологии языка C++ все методы классов в языке Python являются виртуальными.

Программирование на Python 3. Марк Саммерфилд.

Боюсь, что ничего особенного кроме простоты реализации в том, что я выложил, нет.

Я использую редактор Eric4, тоже написанный на Питон и Кьют.
http://eric-ide.python-projects.org/eric4-download.html
Установку (install.py) запустить после установки Python & PyQt4.
В принципе, ничто не мешает программировать хоть в блокноте.
На будущее, можно выбрать из него код и вставить в конфигуратор, к-й надо еще сделать.

Структура системы похоже на 1С. И питон во многом похож на встроенный язык 1С - динамические типы.

Теперь надо делать объекты (Метаданные, Справочник, Документ, ...). Пока что есть только несколько:
m_ - библиотека функций для пользовательских модулей (пока что там только аналог ОткрытьФорму())
Gm - глобальный модуль
m_.Message_Window - окно вывода сообщений ( с поддержкой HTML)
Благодаря стандартной библиотеке питона есть доступ к огромному количеству фич (сеть, сериализация данных, работа с архивами, юникод, работа с большими таблицами).
Там кстати есть модуль Decimal
Цитата:
Язык Python предоставляет три типа значений с плавающей точкой:  встроенные типы float и complex и тип decimal. Decimal в стандартной библиотеке. Все три типа данных относятся к категории неизменяемых. Тип float представляет числа с плавающей точкой двойной точности, диапазон значений которых зависит от компилятора языка С (или С# или Java), применявшегося для компиляции интерпретатора Python. Числа этого типа имеют ограниченную точность и не могут надежно сравниваться на равенство значений. Числа типа float  записываются с десятичной точкой или в экспоненциальной форме записи,
например, 0.0, 4., 5.7, -2.5, -2е9, 8.9е-4.
В машинном представлении числа с плавающей точкой хранятся как двоичные числа. Это означает, что одни дробные значения могут быть представлены точно (такие как 0.5), а другие - только приблизительно
(такие как 0.1 и 0.2). Кроме того, для представления используется фиксированное число битов, поэтому существует ограничение на  количество цифр в представлении таких чисел. Ниже приводится поясняющий пример, полученный в IDLE:
>» 0.0, 5.4, -2.5, 8.9е-4
(0.0, 5.4000000000000004, -2.5, 0.00088999999999999995)
Проблема потери точности - это не проблема, свойственная только языку Python; все языки программирования обнаруживают проблему с точным представлением чисел с плавающей точкой.
Если вам действительно необходимо обеспечить высокую точность, можно использовать числа типа decimal. Decimal. Эти числа  обеспечивают уровень точности, который вы укажете (по умолчанию 28 знаков после запятой), и могут точно представлять периодические числа,  такие как 0.11, но скорость работы с такими числами существенно ниже, чем с обычными числами типа float. Вследствие высокой точности числа типа decimal.Decimal прекрасно подходят для производства  финансовых вычислений.

Этот вопрос важен, чтобы иметь точность вычислений (http://ananas.su/forum/viewtopic.php?f=9&t=158). Наверное придется использовать Decimal  для этого. Хотелось бы услышать мнение других.
« Последняя редакция: 07. Января 2010 :: 18:33 - blindvic »  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #57 - 07. Января 2010 :: 13:56
Печать  
blindvic писал(а) 07. Января 2010 :: 13:52:
Этот вопрос важен, чтобы иметь точность вычислений (http://ananas.su/forum/viewtopic.php?f=9&t=158). Наверное придется использовать Decimal  для этого. Хотелось бы услышать мнение других.

Вопрос ОЧЕНЬ важный.
Decimal уже использовался в qt1L. И правильно использовался Улыбка жаль, что до финиша не добежали Улыбка
В этом вопросе поддержу тебя обеими руками, хоть я и против PyQt - большие зависимости и галимый по моему мнению синтаксис...
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #58 - 07. Января 2010 :: 13:57
Печать  
Вместе с ПайКьют устанавливается дизайнер и документация к Кьют - очень качественная.
Да и к Питону много документации и книг.
  

qt-assistant.PNG ( 61 KB | Загрузки )
qt-assistant.PNG
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #59 - 07. Января 2010 :: 14:04
Печать  
trdm писал(а) 07. Января 2010 :: 13:56:
...хоть я и против PyQt - ... и галимый по моему мнению синтаксис...

Цитата:
Язык Python является, пожалуй, самым простым в изучении и самым приятным в использовании из языков программирования, получивших широкое распространение. Программный код на языке Python легко читать и писать, и, будучи лаконичным, он не выглядит  загадочным. Python - очень выразительный язык, позволяющий уместить приложение в меньшее количество строк, чем на это потребовалось бы в других языках, таких как C++ или Java.

Цитата:
Unlike most other programming languages, Python uses indentation to signify its block structure.Some programmers don’t like this, at least at first, and some get quite emotional about the issue. But it takes just a few days to get used to, and after a few months, brace-free code seems much nicer and less cluttered to read than code that uses braces.


Как бы то ни было, на вкус и на цвет - товарищей нет.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 9
ОтправитьПечать