Просмотр сообщений
|
Страниц: [1] 2 3 ... 10
|
1
|
Qt / Базы данных / Re: Рекурсивный запрос
|
: Ноябрь 13, 2015, 01:18
|
Блин. Ну как же приятно поговорить с умным человеком. Та да, погорячился Вообще QSqlQuery ничего и никогда с запросом не делает он его, тупо, передает серверу в неизменном виде. Читать QSql вдумчиво.
Читал и вдумчиво . Хотел уже читать исходники, а не документацию Qt т.к. в приложении не работает, а рядом в браузере работает тот же самый запрос. Пока не понял, что проблема в движке (libqt4-sql-sqlite). PS: sqllite и рекурсивный запрос - не перебор ли... Хотя, народ не без героев.
Мне больше нравится Postgres. Но скажу, что sqlite вполне себе база и если она предоставляет какие-то функции, так чего бы и не использовать? На больших записях не игрался, но дерево из 6К+ элементов строит и отбирает детей за 6 мс и меня вполне такое устраивает.
|
|
|
2
|
Qt / Базы данных / Re: Рекурсивный запрос
|
: Ноябрь 12, 2015, 19:59
|
Возможность работы с такими запросами добавили в sqlite 3.8.3 Проверял через движок 3.8.11 Qt похоже использует тот который в системе 3.8.2 Попробую обновить в системе и надеюсь вопрос закрою.
|
|
|
4
|
Qt / Базы данных / Рекурсивный запрос
|
: Ноябрь 12, 2015, 19:39
|
Выбираю данные из базы. Имею валидный запрос (выполняется в любом менеджере БД) который не нравится Qt. SQL WITH RECURSIVE group_tree(id_group,id_owner_group) AS ( VALUES(51000,NULL) UNION ALL SELECT group_goods.id_group, group_goods.id_owner_group FROM [front.group_goods] AS group_goods , group_tree WHERE group_tree.id_group=group_goods.id_owner_group) SELECT id_group FROM group_tree
Это sqlite3 - https://www.sqlite.org/lang_with.htmlПолучаю ошибку "near "WITH": syntax error Unable to execute statement" Подозреваю, что QSqlQuery проверяет какой ему там запрос передали и интерпретирует его как сам захочет... Вопрос: Как заставить Qt выполнять такие запросы? Это вообще реально?
|
|
|
5
|
Qt / Печать / Re: Печать на принтере этикеток
|
: Сентябрь 30, 2015, 23:37
|
ну возможно конечно дело в самом железе, но помойму все дело в ПО особенно, если оно пиратское, то ничего удивительного, что в некоторых случаях оно не хочет печатать
А, что пиратское-то? Linux или OpenSource TextPrinter?
|
|
|
6
|
Qt / Печать / Re: Печать на принтере этикеток
|
: Сентябрь 30, 2015, 23:36
|
Камрады, тема 2012 года. Термиту уже все равно. Ну не то чтобы все равно, я еще жив, некоторые вещи все так же радуют Но тема, да, старовата...
|
|
|
7
|
Qt / Печать / QWebView->print() размер элементов
|
: Сентябрь 12, 2015, 11:26
|
Добрый день. На форуме уже несколько раз поднимался вопрос с печатью из QWebView и размерами элементов, но ни разу не нашли ответ. Суть задачи: Необходимо печатать ценники с определенным размером. В html это выглядит так HTML ... <style type="text/css"> .main { width: 2.56in; height: 1.18in; ... } ... <div class="main"> ... </div>
В миллиметрах это 65 на 30. Проблема: Так вот, при печати этого файла из firefox все красиво и размеры правильные. При печати из QWebView " view->print(&printer); " размер меньше. Пытался побороть через setZoomFactor - вообще не реагирует. При рендринге на принтер " view->render(&printer); " размеры правильные, но нет переноса на другую страницу, ну и виден справа скроллбар QWebView. Понимаю, что разница в dpi, но из-за отсутствия реакции на setZoomFactor не понимаю как можно распечатать в правильном размере. Вопрос: Все же как можно напечатать html на принтер чтобы соблюдались размеры? Может есть какой-то более другой способ печати? PS. Qt - 4.8.6 OS - Linux Пытался использовать wkhtmltopdf и вот неожиданность! он тоже формирует pdf с меньшими размероми. Если будет необходимо выложу сам шаблон, покажу код и т.д.
|
|
|
8
|
Qt / Базы данных / Re: sqlite + QSqlTableModel в многопоточном приложении
|
: Апрель 04, 2015, 12:47
|
1 млн строк в БД. Ну как пример (у меня не так). Да и не зря же придумали QAbstractItemModel::fetchMore() и QAbstractItemModel::canFetchMore().
Ну да и не зря же придумали пагинацию, фильтры и т.д. Не представляю реальное приложение где пользователю покажут таблицу в 1 млн строк сиди мол читай, разбирайся... Воспользуйтесь QSqlQueryModel установите лимиты, фильтры и выгребайте все через fetchMore. ИМХО при работе со sqlite и моделями это единственное правильное решение.
|
|
|
10
|
Qt / Общие вопросы / Re: Кросс компиляция
|
: Март 13, 2015, 19:01
|
Использую Jenkins. Собираю одновременно в восьми разных разных окружениях. Все slave живут на виртуальных машинах. Попутно прикрутил проверку cppcheck. Очень удобно, рекомендую. Если будут вопросы в меру сил смогу подсказать.
|
|
|
13
|
Qt / Базы данных / Re: База данных (QSqlDatabase) по умолчанию?
|
: Февраль 28, 2015, 20:55
|
Подозреваю, что это из-за того как Windows работает с файлами. Такой подход как я описал, видимо, возможен только или из одного приложения в несколько потоков, или из разных приложений но только под *nix системами.
|
|
|
15
|
Qt / Базы данных / Re: База данных (QSqlDatabase) по умолчанию?
|
: Февраль 28, 2015, 17:11
|
Спасибо! И если установить этот параметр, ошибки на стадии открытия - лока базы, если она уже открыта одним приложением - возникать не будет? У меня проблема именно в этом. Если база уже открыта, никаких проблем записи-считывания не возникает.
Кстати про лок. Я работаю под Linux-ом. Может как-то зависит? Ну, а в целом не должно быть локов. Eсли каждое из приложений будет укладываться со своими запросами в 5 секунд и при работе с моделями из запросов будут выгребаться записи через canFetchMore. Попутно порекомендовал бы для записи использовать транзакции, а для чтения если перебор идет только в одном направлении для запроса указывать setForwardOnly(true).
|
|
|
|
|