Просмотр сообщений
|
Страниц: 1 [2] 3 4 ... 8
|
16
|
Qt / Пользовательский интерфейс (GUI) / Скрыть расширения файлов в фильтре QFileDialog
|
: Февраль 09, 2018, 18:07
|
Имеется код: C++ (Qt) path = QFileDialog::getOpenFileName(this, tr("Open image"), lastPath, formats);
Он открывает окно, где можно выбрать фильтр файлов по расширению (см. прикрепленный скриншот, узенький такой). Как видите получается огромная портянка. Вопрос, как можно скрыть эти расширения, чтобы осталось только, к примеру, "Изображения" или "RAW"? Пробовал флаг QFileDialog::HideNameFilterDetails - не изменяется совершенно ничего. Говорят, в делфи можно отдельно задать отображаемый список и список с расширениями, неужели в Qt такого нет?
|
|
|
18
|
Qt / 2D и 3D графика / [Решено] QPainter: обводка текста с выравниванием
|
: Сентябрь 24, 2017, 06:56
|
Вопрос: как на QImage нарисовать текст с окантовкой (outline) и при этом чтобы работало выравнивание (по левому/правому краю) нескольких строк? Пробую через QPainterPath но там только метод addText, который не учитывает ни направление письма ни мультистроку ни межстрочный интервал и тд.
Текст рисую так: p.drawText(rect, flag, currPreset.text); где p - QPainter rect - в этот рект вписывается текст flag - флаги текста (Qt::AlignRight, Qt::TextWordWrap)
|
|
|
19
|
Qt / Работа с сетью / Re: Перевод SendPOST на Qt
|
: Июль 10, 2017, 21:43
|
все заголовки надо добавлять в QNetworkRequest, а вторым параметром методу post() подавать только тело (body) запроса, т.е. твою переменную post
Спасибо, помогло! Строчку "POST /xxx.php HTTP/1.1\r\n" вообще убрал, а /xxx.php добавил к урлу в реквесте.
|
|
|
20
|
Qt / Работа с сетью / Re: Перевод SendPOST на Qt
|
: Июль 10, 2017, 19:57
|
все заголовки надо добавлять в QNetworkRequest, а вторым параметром методу post() подавать только тело (body) запроса, т.е. твою переменную post
А эту строчку куда? "POST /xxx.php HTTP/1.1\r\n"
|
|
|
21
|
Qt / Работа с сетью / [Решено] Перевод SendPOST на Qt
|
: Июль 10, 2017, 16:07
|
Есть делфийский код, в котором средствами WinApi делается post запрос: Delphi Result := SendPOST('http://www.xxx.ru', StringToAnsi(Query, CP_ACP), Answer);
где Query выглядит так: POST /xxx.php HTTP/1.1 Host: www.xxx.ru User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; WebMoney Advisor; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) Accept: / Accept-Encoding: identity Accept-Language: ru-RU Connection: Close Content-Type: application/x-www-form-urlencoded Content-Length: 103
email=xxxxxxxxx@xxxxxx.ru&key=xxxxxxxxxxxxxxxxxxxx&id=xxxxxx&h=3ffdfe2d17d892aedc681b010598337c&check=1 Вопрос в том, как корректно это сделать на Qt. Судя по тому, что пишут в интернетах, нужно часть строк переписать на setRawHeader, но у меня ничего не получается - ответ от сервера всегда один - мол, не понятно, что ты мне вообще прислал. В общем моя попытка: C++ (Qt) QString post = "email=" + email + "&key=" + key + "&id=" + id + "&h=" + hardId + "&check=" + ch + "&getd=1"; QString query = "POST /xxx.php HTTP/1.1\r\n" "Host: www.xxx.ru\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; " "Trident/4.0; WebMoney Advisor; SLCC2; .NET CLR 2.0.50727; " ".NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)\r\n" "Accept: /\r\n" "Accept-Encoding: identity\r\n" "Accept-Language: ru-RU\r\n" "Connection: Close\r\n" "Content-Type: application/x-www-form-urlencoded\r\n" "Content-Length: " + QString::number(post.size()) + "\r\n\r\n" + post; QNetworkRequest request("http://www.xxx.ru"); manager.post(request, query.toLocal8Bit());
Осложняется еще все тем, что данные передаются/принимаются в кодировке 1251 (toLocal8Bit в данном случае - это я потом переделаю)
|
|
|
23
|
Qt / Интернационализация, локализация / Передача интернациональной строки в стороннюю либу [Решено]
|
: Июль 04, 2017, 00:00
|
Использую FreeImage для открытия\сохранения изображений (потому, что он умеет EXIF, а Qt - нет). Соответственно для этого библиотеке нужно передать название файла. Названия могут быть такими: Photo 203.png Безымянный.png 肖像画.jpg Эти файлы я считываю через QString path = QFileDialog::getOpenFileName(...) Полученную строку пытаюсь передать в либу, но все тщетно: Если я передаю строку как path.toUtf8().data(), то все работает, только с латинскими названиями. Если передаю как path.toLocal8Bit.data(), то либа работает только с латинскими названиями и названиями в кодировке текущей локали (в данном случае кириллицей). Подскажите, пожалуйста, как правильно передавать строки в сторонние либы? Чтобы любые символы читались. Исходники в юникоде, внутри Qt все отображается как надо - проблемы только с либой. Еще там есть возможность открытия\сохранения по строке типа const wchar_t * (utf16), но как я не пытался конвертировать QString, какую бы я строку не пихал в либо - не работает. Либа: http://freeimage.sourceforge.net/
|
|
|
24
|
Qt / 2D и 3D графика / Re: QImage: out of memory, returning null image [Решено]
|
: Июнь 30, 2017, 16:09
|
96 мб, да, но это графический редактор, там еще полно всякого - для оптимизации создается много дополнительных буферов с промежуточными вычислениями размером с оригинальное изображение. Для аналогии могу привести лайтрум - там, одно только открытие подобного изображения, увеличивает потребление памяти на 800мб. Но в лайтруме, конечно, свой менеджер памяти, это я так, для сравнения.
|
|
|
26
|
Qt / 2D и 3D графика / Re: QImage: out of memory, returning null image
|
: Июнь 30, 2017, 15:13
|
Спасибо, еще я кажется понял одну вещь. Для 32-битного приложение ограничение статической памяти и динамической - по 2 гигабайта, то есть всего 4. Изображения, естественно, находятся в динамической памяти. Диспетчер задач не позволяет просмотреть пик потребления памяти, например при вычислениях, потребление памяти может на доли секунды возрастать на несколько сотен мегабайт. Отсюда и вылеты.
|
|
|
27
|
Qt / 2D и 3D графика / QImage: out of memory, returning null image [Решено]
|
: Июнь 30, 2017, 14:41
|
Windows 7 x64, приложение скомпилено MinGW 5.3 x32. Открываю диспетчер задач - смотрю потребление памяти. Оно не превышает 1.5гб в пике, но тем не менее в определенный момент приложение вылетает с ошибкой QImage: out of memory, returning null image
Приложение - графический редактор, само изображение имеет размер 6000х4000
|
|
|
|
|