Просмотр сообщений
|
Страниц: [1] 2 3 ... 30
|
1
|
Qt / Базы данных / Re: Кодировка сообщений об ошибках в PostgreSQL
|
: Март 04, 2021, 18:48
|
Это общая проблема организации подключения к PostgreSQL, в том числе и в Qt. До момента подключения драйвер не знает кодировки сервера, которую можно узнать только после подключения, и считает что используется кодировка Win-1251 (в Qt используется QString::fromLocal8Bit). Если сам сервер настроен на UTF-8 и использует язык, отличный от en, то будут крякозябры.
|
|
|
5
|
Qt / Qt-инструментарий / Re: кракозябры в QtCreator
|
: Ноябрь 05, 2020, 11:45
|
Если хочется, чтобы в консоли Windows сообщения от стандартных команд (типа del) выводились на английском - надо дать команду DOS chcp 850
Но эта смена языка будет актуальна только для текущей сессии.
|
|
|
6
|
Qt / Печать / Re: LimeReport - Open-source Qt генератор отчетов, релиз новой версии 1.5
|
: Октябрь 23, 2020, 16:28
|
Возможно нужен датабэнд, пусть даже пустой. У меня отчет для печати этикеток - 48 штук на листе. В отчете есть скрипты, а данные берутся из QSqlQuery, которая в коде передается как модель данных для отчета. Все работает, хотя и не без косяков. Например, границы печати - задаются дробной величиной, а потом округляются до целого, причем такое поведение только для страницы отчета. Для меня это было критично, т.к. надо было точно попасть в этикетку. Выкрутился - верх/низ страницы задал как целое, а потом добавил пустые хидер и футер с дробным размером. Вообще, хочу сказать, что среди бесплатных генераторов отчетов такого функционала вообще ни у кого нет. Есть косяки с переводом, но это OpenSource, никто не мешает добавить свое или исправить.
|
|
|
9
|
Qt / Вопросы новичков / Re: БД в Qt5 (primeInsert(), insert())
|
: Июль 31, 2020, 16:05
|
В общих чертах, да, правильно. Но не все SQL драйверы поддерживают именованные заполнители. Если поддержки нет, то лучше будет вот так: query.prepare("INSERT INTO prices (id, name, price) VALUES (?, ?, ?)"); query.bindValue(0, 53981); query.bindValue(1, "Thindy"); query.bindValue(2, 105.75);
|
|
|
12
|
Qt / Вопросы новичков / Re: Как в QVBoxLayout скрыть виджет, не меняя разтяжения
|
: Июль 27, 2020, 16:29
|
Я же приложил ui файл в котором то поведение, которое тебе нужно. Запустив дизайнере превью и жмякни на кнопку 1/
Спасибо, не заметил. Ясно, значит другого решения нет, как добавлять еще один item и бросать туда spacer. Жаль. Можно и без верхнего спейсера: надо установить для строки грида минимальную высоту, равную высоте скрываемой кнопки + размер вертикального спейсинга, через setRowMinimumHeight, а сам вертикальный спейсинг в ноль.
|
|
|
15
|
Qt / Пользовательский интерфейс (GUI) / Re: Кодировка QFileDialog::getExistingDirectory
|
: Сентябрь 27, 2019, 11:13
|
Малость опередили, но все же для новичка опишу чуть подробнее. В параметрах функции требуется QString, а в действительности ей передается const char *, тем самым вынуждая компилятор выполнить конвертирование самостоятельно. UTF-8 для хранения одного символа использует 2 байта, а по классике в const char * неявно подразумевается один байт на символ. Чтобы слегка помочь компилятору с конвертированием национальных строк (отличных от ASCII, с которым он и сам хорошо справится) требуется, как один из вариантов, вызов статической функции fromUtf8(), конечно при условии что исходники в UTF-8. QString Gamedir = QFileDialog::getExistingDirectory(nullptr, QString::fromUtf8("Директория игры"),"", QFileDialog::ShowDirsOnly); Нет желания писать такие конструкции - используйте только english и последующую трансляцию.
|
|
|
|
|