Название: Детские болезни 4-ой версии... Отправлено: -QT- от Февраль 04, 2008, 17:04 Буквально не так давно начал писать маленькую программку, для расчета
инвойсов с учетом налогов из ГТД и доставки товара. Вот что из этого получилось: 1. Используя стандартные решения на базе QSqlTableView и QSqlTableModel напоролся на баг с отображением чисел с плавающей точкой (пост в другой ветке где GUI). 2. Попытался так же использовать QDataWidgetMapper в связке с QDoubleSpinBox этот вариант не редактирует данные. Ошибок в реализации видимо еще много. Посмотреть только "Task Tracker", так вот ув. дамы игоспода на сколько мне видиться в ветке 3.3.х у троллей ошибок было намного меньше чем в 4.4.0 и кажется мне что они очень кудато спешат. Как бы при спешке да не нае....ся со всего маху. Я думаю что при таком положении дел брать 4-ю ветку для коммерческой разработки еще очень рано. Буду рад услышать мнение общества. И если пинать меня то прошу по существу. ;D Название: Re: Детские болезни 4-ой версии... Отправлено: vregess от Февраль 04, 2008, 18:24 Интересно, почему ты сравниваешь именно QT 3.3.x и Qt 4.4.0.
И вроде 4.4.0 - это Technology Preview. Используй более стабильные версии, если не устраивают баги "feature release". Название: Re: Детские болезни 4-ой версии... Отправлено: -QT- от Февраль 04, 2008, 20:48 Интересно, почему ты сравниваешь именно QT 3.3.x и Qt 4.4.0. Эту версию я привел потому, что даже в версии 4.4.0 (пусть это еще не релиз) не планируютсяИ вроде 4.4.0 - это Technology Preview. Используй более стабильные версии, если не устраивают баги "feature release". исправления этих багов - а это еще детские болезни. И второе почему так - что в 3-й ветке работу тролли вели более скурпулезно и не выпускали сырых релизов (скажем даже они не спешили раньше). А теперь непонятное желание наращивания подверсий без устранения багов. Такое впечатление что GPL продукты на sourceforge.net выше версии 0.2.х более стабильны чем релизы троллей 4.3.х Название: Re: Детские болезни 4-ой версии... Отправлено: Вячеслав от Февраль 04, 2008, 21:12 Эта ..... А можно пример кучи багов в 4.3.2 ? А то я сдуру сунул ее в проект для товарисчей в погонах ........ и как-то работает ...... с ноября 24*7 ..... и не жужжит ...... Может мне пора ноги делать от греха подальше ? ;)
А если серьезно - да баги есть ( а где их нет ?! ) (хотя - документированный баг - есть фича софта ) , но ведь все исходники под рукой - правь -нихочу. IMHO по качеству и доступности кода Qt вообще альтернатив не имеет как кроссплатформа ...... А при наличии Qtopi'и таки вообще может стать лидером в своей нише .... Время покажет .... И товарисчи из Нокии не зря чешуться .... Про работу с БД - стандартные средства Qt я не пользовал практически с самого начала - лень было допиливать драйвер птица(FireBird'a) для работы с транзакциями .... И я больше люблю ORM - возни с ними меньше(IMHO)... Вот собственно и все ( мое мнение о куте) PS последний зверь это трехзвенка с репликацией серверов БД и довольно большим количеством транзакций ... Зверь обслуживает комплекс связи и должен работать (по ТЗ) 7-9 месяцев без вмешательства персонала умнее солдата-срочника ;) Название: Re: Детские болезни 4-ой версии... Отправлено: -QT- от Февраль 05, 2008, 08:46 Ну скажем ... ноги делать не нужно ;D
Потомукак если заработала (прога) и видимых багов нет, то и будет она работать дальше. Я ведь о том что стандартными способами, которые предлагают тролли работать с БД не возможно полноценно. И возмущения мои сводятся к тому что для адекватной работы в большом проекте нужно писать собственные виджеты по работе с БД, а это мне не нравиться уж очень большая трудоемкость получается, ведь одно дело использовать разработанное специалистом а другое краптеть над собственной разработкой. Проект становиться дороже с вытекающими из этого последствиями. Да и время на разработку увеличивается - жабовские прогеры в затылок дышат. :-\ Название: Re: Детские болезни 4-ой версии... Отправлено: Вячеслав от Февраль 05, 2008, 19:30 Ну да .... Стандартный SQL модлуль - уровень первого дельфи :( А жаба .... мне - проще вояки ее пока не любят ;) Хотя энтузазисты всячески пытаються продвинуь ;)
Название: Re: Детские болезни 4-ой версии... Отправлено: -QT- от Февраль 05, 2008, 21:10 У меня жабисты из под носа пытаются утащить проект комплексной автоматизации компании
с производством, оптовой и розничной торговлей. Типа мы быстрее напишем и стоимость наших кодеров ниже чем у сишников. И кроссплатформенность у нас . Название: Re: Детские болезни 4-ой версии... Отправлено: -QT- от Февраль 05, 2008, 21:17 Спасибо откликнувшимся.
Но видимо эта проблемма волнует только админов, а как же другие (простые смертные) ? :o Я мыслю если не ругаются значит на моей стороне. :D ;D Это тоже результат. Название: Re: Детские болезни 4-ой версии... Отправлено: baka от Февраль 07, 2008, 10:26 а простые смертные потихоньку смотрят в сторону java
там есть Hibernate, для C++ ORM'ов нет (кроме самодельных) (искал на Google нашел тему форума "о а давайте сделаем ORM менеджер для С++ последнему сообщению более 2х лет) я лично не ощущаю в себе сил браться за реализацию самодельной объектной прослойки. (по этому работаю дедовским подходом). а в Hibernate все сделано за нас умными дядями. в данный момент переделываю свой текущий проект потому что в первом приближении у меня на одну экранную форму уходило примерно 300 строчек кода сейчас 40. компоненты для работы с БД у меня самодельные я не уверен в правильности их реализации ( если бы за меня их сделали взрослые дяди то на душе было бы спокойней). (последняя тема на форуме "а давайте сделаем DBComboBox" затихла больше года назад(http://prog.org.ru/forum/index.php/topic,1253.0.html)) Кстати раз Вы такие умные(в хорошем смысле этого слова) киньте примеры исходников работающих с БД, т.е. формочки на основе которых должны изменятся/добавляться данные к нескольких таблицах, тогда когда существуют общие и категорийные сущности. либо м/б покажете как делается объектная прослойка (я ума не приложу с чего начать). а то я текущий проектик делаю, и переделываю а получается как то не очень. вот хоть бы одним глазком на работающий проектик глянуть. Название: Re: Детские болезни 4-ой версии... Отправлено: ритт от Февраль 08, 2008, 14:31 хрен понял о чём пост баки...
что такое "общие и категорийные сущности"? на кой ляд кому нужен DBComboBox, если обычная комба поддерживает модели (которые могут быть склмоделями)? Название: Re: Детские болезни 4-ой версии... Отправлено: baka от Февраль 09, 2008, 07:54 Цитировать что такое "общие и категорийные сущности"? допустим "объект недвижимости" - общая сущность а гараж, квартира, коттедж, дача, производственная площадь, новостройка - категорийные сущности (междуу ними сущ-ет связь обобщение (is a)) на счет DBComboBox я протупил. Название: Re: Детские болезни 4-ой версии... Отправлено: Alexandr Az от Февраль 09, 2008, 10:07 на кой ляд кому нужен DBComboBox, если обычная комба поддерживает модели (которые могут быть склмоделями)? Ну не скажи, не скажи. Да хотябы чтобы анализировать тип поля. Может кому то нравятся во вью номера столбцов в названиях, отсутствия типа поля, да даже тривиальная ширина столбцов. Я был бы рад чтобы DBComboBox умел работать с SQL модулем, скажем заполнялся значениями из мастер таблицы, а заносил ключи в детаил. Часто используемая задача. Почему бы нет? Название: Re: Детские болезни 4-ой версии... Отправлено: crocus от Февраль 09, 2008, 10:31 ну снова недвижимость
Название: Re: Детские болезни 4-ой версии... Отправлено: Sergey B. от Февраль 10, 2008, 21:28 а простые смертные потихоньку смотрят в сторону java ... К сожалению GUI(Swing) на Java - это ужас в плане производительности и внешнего вида :o С точки зрения девелопмента, пишеться конечно проще чем на Qt (намного), особенно сложные вещи, типа своих моделей и прочего, т.к. всё там идёт от Object, с метасистемой которого Qt MOC просто не сравним. Как мне кажеться единственное применение Java для desktop application - SWT, точнее RCP. Но там модели сделаны криво. Документации практически никакой... Так что хочешь быстрый отзывчивый GUI - Пиши на Qt, если всё равно и поджимают сроки пиши на Swing... Кстати по поводу количества кода, кода на java не меньше, но он как то более запутан, вернее кажется, что его слишком много... Вы бы выложили исходники на Qt ваши, или какую-то часть, может быть более опытные кодеры подскажут, как сделать менее затратно и производительней. по поводу проги, работающей с базами вот моя, поглядите как чего там сделано. http://borisovs.blogspot.com/2007/12/qtaxi-gpl.html (http://borisovs.blogspot.com/2007/12/qtaxi-gpl.html) Название: Re: Детские болезни 4-ой версии... Отправлено: Вячеслав от Февраль 11, 2008, 10:18 А скрестить ? Qt+ Java ? Jambi кажись есть ? ;D
Название: Re: Детские болезни 4-ой версии... Отправлено: Sergey B. от Февраль 12, 2008, 06:37 по поводу проги, работающей с базами вот моя, поглядите как чего там сделано. У тебя там все файлы битые практически. нефига скачать не получается ((http://borisovs.blogspot.com/2007/12/qtaxi-gpl.html (http://borisovs.blogspot.com/2007/12/qtaxi-gpl.html) exe - вообще не качается, а на зип ругается что мол поврежденный или многотомный архив. в свн вообще пусто. exe - это что то гугл чудит, придётся перезалить... Все архивы делал в линухе. Видать надо виндой перепаковать... Сегодня сделаю, после обеда выложу. Отпишусь. Название: Re: Детские болезни 4-ой версии... Отправлено: Sergey B. от Февраль 12, 2008, 06:59 Исходники перепаковал и выложил.
Update: Выложил установщик. Название: Re: Детские болезни 4-ой версии... Отправлено: Sergey B. от Февраль 12, 2008, 11:28 Спасибо.
Выложить, конечно можно! Даже нужно. Скриншоты, если надо там в хелпе есть (linux/mac - хакинтош/XP), можете сделать свои, покрасивше... Кстати кто хочет\умеет сделать пакеты для различных дистрибутивов, было бы здорово. Я этим не занимался, поэтому хотелось бы сделать без ошибок. Название: Re: Детские болезни 4-ой версии... Отправлено: Ace-X от Март 18, 2008, 14:42 Спасибо. Выложить, конечно можно! Даже нужно. Скриншоты, если надо там в хелпе есть (linux/mac - хакинтош/XP), можете сделать свои, покрасивше... Кстати кто хочет\умеет сделать пакеты для различных дистрибутивов, было бы здорово. Я этим не занимался, поэтому хотелось бы сделать без ошибок. Косяк у тебя с программой! Установил прогу, установил PostgreSQL. Косяк происходит при первом запуске проги когда дело доходит до ввода имени и пароля админа. Выпадающий список с именем пустой и забить туда имя "Admin" нельзя! Пробовал на двух компах под ХР и под Вистой. Название: Re: Детские болезни 4-ой версии... Отправлено: Sergey B. от Март 19, 2008, 08:52 Вы создали базу на сервере PostgreSQL с которой должна работать программа и настроили программу?
(хелп в папке с программой, раздел - "первый запуск") Диалог настройки коннекта показывался? Удалите ветку HKEY_CURRENT_USER\Software\qtaxi и попробуйте. Предположу, что дело было так: Дело в том, что диалог настройки соединения по умолчанию подписывает след. параметры соединения: Код: хост: localhost Далее программа в функции соединения считывает эти параметры и пробует соединиться, видимо у вас у админа нет пароля, поэтому программа соединяется с сервером на этих дефолтных настройках и пишет вам (т.к. такой таблицы в базе postgres Нет): Код: ERROR relation "orders" does not exist В общем это не ошибка, а скорее казус... который я исправлю и выложу новую сборку на VS2008 попозже уже на Qt4.4 с изменённой отрисовкой хелпа - теперь через QtWebKit. Я правильно предположил ваши действия или вы что-то делали иначе? Название: Re: Детские болезни 4-ой версии... Отправлено: Ace-X от Март 19, 2008, 14:18 Все верно, сперва запустил программу, а базу создал уже после.
Поправил реестр и все заработало. Все-таки, это надо отслеживать в программе. Из другого, что сразу бросилось в глаза - не выставлены tab order и кнопки по умолчанию в диалогах. Название: Re: Детские болезни 4-ой версии... Отправлено: Sergey B. от Март 19, 2008, 17:02 По поводу базы:
вы нажали Save в диалоге настройки базы, не введя корректные параметры. И получилось так, что сервер был без пароля, что дало возможность подключиться с этими параметрами... Надо будет добавить показ помощи при первом запуске автоматом... По поводу диалогов: В каких именно диалогах? Там всё выставлено. И повешено на eventFilters, кнопки по умолчанию отключены сознательно, иначе диалог будет закрываться по Enter, вместо перехода по элементам. Для удобства операторов и повышения скорости набора, переход между элементами формы сделан через Enter. Название: Re: Детские болезни 4-ой версии... Отправлено: Ace-X от Март 19, 2008, 17:20 По поводу базы: вы нажали Save в диалоге настройки базы, не введя корректные параметры. И получилось так, что сервер был без пароля, что дало возможность подключиться с этими параметрами... Надо будет добавить показ помощи при первом запуске автоматом... Достаточно просто убрать из диалога при первоначальном запуске имя базы данных "postgres", так как она является системной, а под программы вы все равно в хелпе просите пользователя создать базу с именем "taxi". Тогда и непонятки возникать не будут. По поводу диалогов: В каких именно диалогах? Там всё выставлено. И повешено на eventFilters, кнопки по умолчанию отключены сознательно, иначе диалог будет закрываться по Enter, вместо перехода по элементам. Для удобства операторов и повышения скорости набора, переход между элементами формы сделан через Enter. Я приводил пример - диалог Параметры соединения. Tab настроен в обратном порядке. По поводу кнопок по умолчанию - например диалог Аутентификация. Вполне логично было бы, чтобы после ввода пароля и нажатия Enter пользователь мог залогиниться, а получается что после ввода пароля приходится переключаться обратно на мышку и наводить ее на кнопку Войти. То же самое в диалогах Справочников. Почему бы в диалоге Городе не сделать кнопкой по умолчанию "Новый"? Было бы очень удобно - ввел название города, нажал Enter - город добавился, фокус опять встал на строку "Город:", опять ввел, опять нажал Enter. А так приходится постоянно перепрыгивать с клавиатуры на мышку. |