Вопрос новичка...
От: LaptevVV Россия  
Дата: 14.06.15 11:47
Оценка: 2 (1)
Где почитать, как QLabel на форму вывести на русском?
Когда-то я брал книжку Земскова по Qt 4 — и егошные примеры все прекрасно работали.
Сегодня после долгого перерыва имеем:
— Windows 7
— Qt 5.4.2 — бесплатная
— QtCretor 3.4.1 c MinGW 4.9.1
В Creatore в редакторе установлена по умолчанию кодировка Windows-1251.
Так осталось с давних времен, чтобы не перебивать комментарии.

Делаю простую форму из QDialog.
В main() пишу:
#include "dialog.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // -- делаем русскую кодировку --
        QTextCodec *codec = QTextCodec::codecForName("CP1251");
        QTextCodec::setCodecForLocale(codec);                // -- тут в прежней проге стояло setCodecForTr(codec)

        QFont font("Courier", 10, QFont::Bold);
        QApplication::setFont(font);

    Dialog w;
    w.setFont(font);
    w.setWindowTitle(QObject::tr("Поиск перколяционного кластера"));

    w.show();

    return a.exec();
}

Проблема:
а) в неправильной кодировке ?
б) в неправильных вызовах ?
Скорее всего — последнее.
Где прочитать, как правильно?
В Шлее все примеры на английском, а глава о локализации — про глобальные проблемы перевода всех строк в приложении.
Справка в QtCreator — примера подобного не обнаружил.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Вопрос новичка...
От: velkin Удмуртия https://kisa.biz
Дата: 14.06.15 17:13
Оценка: 3 (3) +2
Здравствуйте, LaptevVV, Вы писали:

LVV>Проблема:

LVV>а) в неправильной кодировке ?
LVV>б) в неправильных вызовах ?

Преобразовать всё, что угодно в Qt не проблема, но это неправильно с точки зрения идеологии кроссплатформенности, которая лежит в основе этой библиотеки. Возьмите любой автоконвертор и массово преобразуйте сразу все файлы проекта или проектов из кодировки CP1251 в UTF8. И в настройках Qt Creator тоже смените кодировку на UTF8.
Re: Вопрос новичка...
От: developer.cpp Россия  
Дата: 14.06.15 20:04
Оценка:
может так
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF8"));
Re: Вопрос новичка...
От: Anton Batenev Россия https://github.com/abbat
Дата: 14.06.15 23:01
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV> QTextCodec *codec = QTextCodec::codecForName("CP1251");

LVV> QTextCodec::setCodecForLocale(codec); // -- тут в прежней проге стояло setCodecForTr(codec)

И ведь не зря стояло setCodecForTr...

LVV> Где прочитать, как правильно?


Перекодировать все из кодировки прошлого века в UTF-8. Ну или костылить вида:
QTextCodec::setCodecForLocale + QTextCodec::setCodecForTr + QTextCodec::setCodecForCStrings
Управляю вселенной не привлекая внимания санитаров.
Re: Вопрос новичка...
От: Igore Россия  
Дата: 15.06.15 10:24
Оценка: 1 (1)
Здравствуйте, LaptevVV, Вы писали:

Присоединяюсь к совету перевести все на utf-8
LVV>Где прочитать, как правильно?
https://wiki.qt.io/Strings_and_encodings_in_Qt
Re[2]: Вопрос новичка...
От: Denwer Россия  
Дата: 16.06.15 08:17
Оценка:
Здравствуйте, velkin, Вы писали:

V>Здравствуйте, LaptevVV, Вы писали:


LVV>>Проблема:

LVV>>а) в неправильной кодировке ?
LVV>>б) в неправильных вызовах ?

V>Преобразовать всё, что угодно в Qt не проблема, но это неправильно с точки зрения идеологии кроссплатформенности, которая лежит в основе этой библиотеки. Возьмите любой автоконвертор и массово преобразуйте сразу все файлы проекта или проектов из кодировки CP1251 в UTF8. И в настройках Qt Creator тоже смените кодировку на UTF8.


И не забыть добавить UTF-8 BOM в файлы, иначе MS VC компилятор будет глючить.
Re[3]: Вопрос новичка...
От: avbochagov Россия  
Дата: 16.06.15 08:20
Оценка:
Здравствуйте, Denwer, Вы писали:

D> V>Здравствуйте, LaptevVV, Вы писали:


D> LVV>>Проблема:

D> LVV>>а) в неправильной кодировке ?
D> LVV>>б) в неправильных вызовах ?

D> V>Преобразовать всё, что угодно в Qt не проблема, но это неправильно с точки зрения идеологии кроссплатформенности, которая лежит в основе этой библиотеки. Возьмите любой автоконвертор и массово преобразуйте сразу все файлы проекта или проектов из кодировки CP1251 в UTF8. И в настройках Qt Creator тоже смените кодировку на UTF8.


D> И не забыть добавить UTF-8 BOM в файлы, иначе MS VC компилятор будет глючить.


А какие глюки? Как проявляются?

Я просто, наооборот, всегда выкидываю BOM...
avalon/1.0.442
Re[4]: Вопрос новичка...
От: Denwer Россия  
Дата: 16.06.15 10:19
Оценка:
Здравствуйте, avbochagov, Вы писали:

D>> И не забыть добавить UTF-8 BOM в файлы, иначе MS VC компилятор будет глючить.


A>А какие глюки? Как проявляются?


A>Я просто, наооборот, всегда выкидываю BOM...


Не может автоматом распознать что файл действительно UTF-8, со всеми вытекающими.
Re[2]: Вопрос новичка...
От: LaptevVV Россия  
Дата: 16.06.15 15:21
Оценка:
LVV>> QTextCodec *codec = QTextCodec::codecForName("CP1251");
LVV>> QTextCodec::setCodecForLocale(codec); // -- тут в прежней проге стояло setCodecForTr(codec)
AB>И ведь не зря стояло setCodecForTr...
Для прежних версий — не зря. А для новой — пишет ошибку компиляции, что данный метод не является членом класса QTextCodec.
Дальше я просто не полез копаться.
LVV>> Где прочитать, как правильно?
AB>Перекодировать все из кодировки прошлого века в UTF-8. Ну или костылить вида:
AB>QTextCodec::setCodecForLocale + QTextCodec::setCodecForTr + QTextCodec::setCodecForCStrings
Я внял вашему совету и все перекодировал.
Установка кодека в результате просто не понадобились
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Вопрос новичка...
От: LaptevVV Россия  
Дата: 16.06.15 15:21
Оценка:
Здравствуйте, developer.cpp, Вы писали:

DC>может так

DC>
DC>QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF8"));
DC>

Я просто перекодировал файлы в Notepad2.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Вопрос новичка...
От: LaptevVV Россия  
Дата: 16.06.15 15:22
Оценка:
V>Преобразовать всё, что угодно в Qt не проблема, но это неправильно с точки зрения идеологии кроссплатформенности, которая лежит в основе этой библиотеки. Возьмите любой автоконвертор и массово преобразуйте сразу все файлы проекта или проектов из кодировки CP1251 в UTF8. И в настройках Qt Creator тоже смените кодировку на UTF8.
Я так и сделал — спасибо.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Вопрос новичка...
От: LaptevVV Россия  
Дата: 16.06.15 15:27
Оценка:
D>И не забыть добавить UTF-8 BOM в файлы, иначе MS VC компилятор будет глючить.
Креэйтор автоматом сам вставляет.
И компилирую я не студийным компилятором, и мингвшным.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Вопрос новичка...
От: HolyNick  
Дата: 19.06.15 12:23
Оценка: 1 (1)
Я делаю так:
  w.setWindowTitle(QStringLiteral("Поиск перколяционного кластера"));

PS: Для QLabel аналогично.
Отредактировано 19.06.2015 12:24 HolyNick . Предыдущая версия .
Re: Вопрос новичка...
От: SaZ  
Дата: 23.06.15 08:48
Оценка: 17 (2)
Здравствуйте, LaptevVV, Вы писали:

LVV>Где почитать, как QLabel на форму вывести на русском?


LVV>В main() пишу:

LVV>
LVV>    w.setWindowTitle(QObject::tr("HERE YOU SHOULD USE ONLY ASCII <= 127"));
LVV>

LVV>Проблема:
LVV>б) в неправильных вызовах ?
LVV>Скорее всего — последнее.

Обычно все строки внутри приложения (даже если вы не реализовываете поддержку нескольких языков) пишутся на английском. Причём можно на техническом. Далее, собирается файл локализации и подключается к приложению. Файл можно зашить в ресурсы.

Лично я, как правило, делаю два перевода:
Eng -> Ru  // что понятно
Eng -> Eng // что позволяет лингвистам делать корректные тексты, без ковыряния в исходниках


LVV>Где прочитать, как правильно?

LVV>...

http://doc.qt.io/qt-5/qtlinguist-index.html
http://doc.qt.io/qt-5/internationalization.html
http://doc.qt.io/qt-5/qtranslator.html

Кратко:
1) lupdate пробегается по проекту и генерирует специальные xml файлы, которые умеет принимать linguist
2) linguist сохраняет перевод в виде "скомпилированного" файла, в qt-шном формате (.qm)
3) .qm файл можно зашить в ресурсы
4) В приложении, через QTranslator, грузим "скомпилированную" локализацию.
Re[2]: Вопрос новичка...
От: LaptevVV Россия  
Дата: 23.06.15 16:21
Оценка:
SaZ>Обычно все строки внутри приложения (даже если вы не реализовываете поддержку нескольких языков) пишутся на английском. Причём можно на техническом. Далее, собирается файл локализации и подключается к приложению. Файл можно зашить в ресурсы.

SaZ>Лично я, как правило, делаю два перевода:

SaZ>
SaZ>Eng -> Ru  // что понятно
SaZ>Eng -> Eng // что позволяет лингвистам делать корректные тексты, без ковыряния в исходниках
SaZ>

Спасибо. У меня проще — прога нужна только здесь на местном уровне.
Поэтому "тяжелую артиллерию" привлекать не хотелось.
SaZ>http://doc.qt.io/qt-5/qtlinguist-index.html
SaZ>http://doc.qt.io/qt-5/internationalization.html
SaZ>http://doc.qt.io/qt-5/qtranslator.html
Спасибо.
SaZ>Кратко:
SaZ>1) lupdate пробегается по проекту и генерирует специальные xml файлы, которые умеет принимать linguist
SaZ>2) linguist сохраняет перевод в виде "скомпилированного" файла, в qt-шном формате (.qm)
SaZ>3) .qm файл можно зашить в ресурсы
SaZ>4) В приложении, через QTranslator, грузим "скомпилированную" локализацию.
Спасибо.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Ненавижу Windows-1251
От: omgOnoz  
Дата: 25.06.15 13:18
Оценка:
Здравствуйте, LaptevVV, Вы писали:

  Скрытый текст
LVV>Где почитать, как QLabel на форму вывести на русском?
LVV>Когда-то я брал книжку Земскова по Qt 4 — и егошные примеры все прекрасно работали.
LVV>Сегодня после долгого перерыва имеем:
LVV>- Windows 7
LVV>- Qt 5.4.2 — бесплатная
LVV>- QtCretor 3.4.1 c MinGW 4.9.1
LVV>В Creatore в редакторе установлена по умолчанию кодировка Windows-1251.
LVV>Так осталось с давних времен, чтобы не перебивать комментарии.

LVV>Делаю простую форму из QDialog.

LVV>В main() пишу:
LVV>
LVV>#include "dialog.h"
LVV>#include <QApplication>

LVV>int main(int argc, char *argv[])
LVV>{
LVV>    QApplication a(argc, argv);

LVV>    // -- делаем русскую кодировку --
LVV>        QTextCodec *codec = QTextCodec::codecForName("CP1251");
LVV>        QTextCodec::setCodecForLocale(codec);                // -- тут в прежней проге стояло setCodecForTr(codec)

LVV>        QFont font("Courier", 10, QFont::Bold);
LVV>        QApplication::setFont(font);

LVV>    Dialog w;
LVV>    w.setFont(font);
LVV>    w.setWindowTitle(QObject::tr("Поиск перколяционного кластера"));

LVV>    w.show();

LVV>    return a.exec();
LVV>}
LVV>

LVV>Проблема:
LVV>а) в неправильной кодировке ?
LVV>б) в неправильных вызовах ?
LVV>Скорее всего — последнее.
LVV>Где прочитать, как правильно?
LVV>В Шлее все примеры на английском, а глава о локализации — про глобальные проблемы перевода всех строк в приложении.
LVV>Справка в QtCreator — примера подобного не обнаружил.


Во первых используйте нормальную кодировку UTF-8!

Виндовые кодировки должны умереть! На английской Венде вечный трах в мозг с 1251 — нормального способа эту проблему решить нет!

Если текст вшит в программу — то все пропало, если внешние файлы — спасает перекодеровка текста в UTF-8.

Возможны также проблемы с фонтами.
Отредактировано 25.06.2015 13:24 omgOnoz . Предыдущая версия . Еще …
Отредактировано 25.06.2015 13:23 omgOnoz . Предыдущая версия .
Re: Ненавижу Windows-1251
От: LaptevVV Россия  
Дата: 25.06.15 13:51
Оценка: +1
Здравствуйте, omgOnoz, Вы писали:

O>Во первых используйте нормальную кодировку UTF-8!

O>Виндовые кодировки должны умереть! На английской Венде вечный трах в мозг с 1251 — нормального способа эту проблему решить нет!
O>Если текст вшит в программу — то все пропало, если внешние файлы — спасает перекодеровка текста в UTF-8.
O>Возможны также проблемы с фонтами.
Спасибо.
Как я тут уже писал — просто перегнал весь код в UTF-8.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 24.06.16 12:09
Оценка:
Здравствуйте, Denwer, Вы писали:
D>И не забыть добавить UTF-8 BOM в файлы, иначе MS VC компилятор будет глючить.

И не забыть убрать UTF-8 BOM, иначе MS VC компилятор будет глючить.

Обоснование следующее:
1. По умолчанию, т.е. если BOM нет, MS VC считает что кодировка файла исходника виндовая
А если BOM есть, то кодировка файла UTF-8
2. Для основного кода это без разницы, т.к. латиница кодируется одинаково в UTF-8 и Windows-1251
3. Но для строк "кириллицей"...
Если MS VC думает, что кодировка файла Win-1251, то он считает, что символы в строке написаны уже в верной кодировке, и записывает их в код как есть. Поэтому русские буквы, записанные в исходнике двухбайтовыми символами UTF-8 попадут в код так же двумя байтами.

Но если MS VC думает, что кодировка файла UTF-8, то он во время компиляции переводит символы в строке в кодировку Windows-1251.
И тогда русские буквы, записанные в исходнике двухбайтовыми символами UTF-8 попадут в код одним байтом в кодировке Windows-1251. Но Qt об этом не знает (если специально ему не сказать).
И тогда в QString string = "русский текст"; будут записаны крокозябры.

За рамками остались u8"", которых нет в старых VC
IMHO. смайлики добавить по вкусу.
Re[4]: на самом деле всё не так
От: Denwer Россия  
Дата: 10.07.16 18:37
Оценка: 4 (1)
Здравствуйте, S-SH, Вы писали:

SS>И тогда в QString string = "русский текст"; будут записаны крокозябры.


Просто строковые константы нужно использовать как положено:

QString string = QStringLiteral("русский текст");
Re[5]: на самом деле всё не так
От: SaZ  
Дата: 11.07.16 07:22
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Просто строковые константы нужно использовать как положено:

D>QString string = QStringLiteral("русский текст");

QStringLiteral — это лямбда, который позволяет избежать вызова конструктора QString с сопутствующими конвертациями каждый раз, при создании переменной. Никакого отношения к кодировке исходников она не имеет.

P.S. Хватит некрофилить, товарищи.
Re[6]: на самом деле всё не так
От: Denwer Россия  
Дата: 11.07.16 11:38
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:


D>>Просто строковые константы нужно использовать как положено:

D>>QString string = QStringLiteral("русский текст");

SaZ>QStringLiteral — это лямбда, который позволяет избежать вызова конструктора QString с сопутствующими конвертациями каждый раз, при создании переменной. Никакого отношения к кодировке исходников она не имеет.


Перед тем как писать это, нужно было открыть исходники QStringLiteral и посмотреть повнимательнее, что же там делает QT_UNICODE_LITERAL
Re[7]: на самом деле всё не так
От: SaZ  
Дата: 11.07.16 12:22
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Перед тем как писать это, нужно было открыть исходники QStringLiteral и посмотреть повнимательнее, что же там делает QT_UNICODE_LITERAL


И как это (define QT_UNICODE_LITERAL_II(str) L##str) поможет компилятору понять, в какой кодировке исходник?

Там же чуть дальше есть коммент: "// source code is assumed to be encoded in UTF-8"
Отредактировано 11.07.2016 12:24 SaZ . Предыдущая версия . Еще …
Отредактировано 11.07.2016 12:23 SaZ . Предыдущая версия .
Re[8]: на самом деле всё не так
От: Denwer Россия  
Дата: 11.07.16 12:34
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:


D>>Перед тем как писать это, нужно было открыть исходники QStringLiteral и посмотреть повнимательнее, что же там делает QT_UNICODE_LITERAL


SaZ>И как это (define QT_UNICODE_LITERAL_II(str) L##str) поможет компилятору понять, в какой кодировке исходник?


Он не помогает узнавать, этот макрос просто изменяет кодировку у строковых констант. В чем разница между "бла бла" и L"бла бла" я думаю рассказывать не нужно?

SaZ>Там же чуть дальше есть коммент: "// source code is assumed to be encoded in UTF-8"


Тем более.
Re[9]: на самом деле всё не так
От: SaZ  
Дата: 11.07.16 17:06
Оценка:
Здравствуйте, Denwer, Вы писали:


D>Он не помогает узнавать, этот макрос просто изменяет кодировку у строковых констант. В чем разница между "бла бла" и L"бла бла" я думаю рассказывать не нужно?


Не нужно. Но если файл будет парситься компилятором не как utf-8, то этот макрос не сработает и на выходе будет не то, что ожидается. А если будет парситься как utf-8, то всё и так заработает.

Я к тому, что использование QStringLiteral не решает проблему топикстартера, а используется лишь для экономии процессорного времени.
Re[10]: на самом деле всё не так
От: Denwer Россия  
Дата: 11.07.16 20:16
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:



D>>Он не помогает узнавать, этот макрос просто изменяет кодировку у строковых констант. В чем разница между "бла бла" и L"бла бла" я думаю рассказывать не нужно?


SaZ>Не нужно. Но если файл будет парситься компилятором не как utf-8, то этот макрос не сработает и на выходе будет не то, что ожидается. А если будет парситься как utf-8, то всё и так заработает.


Для корректного распознавания компилятором кодировки файла, конкретно для MSVC нужно добавить UTF-8 BOM.

SaZ>Я к тому, что использование QStringLiteral не решает проблему топикстартера, а используется лишь для экономии процессорного времени.


Решает, если будет UTF-8, что я в первом сообщении и написал. Просто потом начали писать, что наоборот не нужно этого делать. Для корректной работы на MSVC компиляторе нужно сделать две вещи:
1 — добавить UTF-8 BOM
2 — использовать QStringLiteral
Re[11]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.16 07:45
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Решает, если будет UTF-8, что я в первом сообщении и написал. Просто потом начали писать, что наоборот не нужно этого делать. Для корректной работы на MSVC компиляторе нужно сделать две вещи:

D>1 — добавить UTF-8 BOM
D>2 — использовать QStringLiteral

а) Первое без второго не работает
б) QStringLiteral есть в Qt 5 и нет в Qt 4
IMHO. смайлики добавить по вкусу.
Re[12]: на самом деле всё не так
От: Denwer Россия  
Дата: 12.07.16 08:06
Оценка:
Здравствуйте, S-SH, Вы писали:

SS>б) QStringLiteral есть в Qt 5 и нет в Qt 4


Читаем первый пост: — Qt 5.4.2
Казалось бы, причем тут 4-я версия?
Re[13]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.16 08:32
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Здравствуйте, S-SH, Вы писали:


SS>>б) QStringLiteral есть в Qt 5 и нет в Qt 4


D>Читаем первый пост: — Qt 5.4.2

D>Казалось бы, причем тут 4-я версия?

Ни при чем.
Что не отменяет того факта, что ваше предложение в http://rsdn.ru/forum/cpp.qt/6080690.1
Автор: Denwer
Дата: 16.06.15
неработоспособно без использования QStringLiteral.
А мое предложение работает как в Qt 5, так и в Qt 4.
IMHO. смайлики добавить по вкусу.
Re[11]: на самом деле всё не так
От: SaZ  
Дата: 12.07.16 09:02
Оценка:
Здравствуйте, Denwer, Вы писали:

D>...


D>1 — добавить UTF-8 BOM

Этого достаточно.

D>2 — использовать QStringLiteral

Не обязательно. Ни на что не повлияет. Читаем: для создания строки будет использоваться QString::fromUtf8, а поскольку исходник и так уже а utf-8, то всё будет работать.
Re[14]: на самом деле всё не так
От: Denwer Россия  
Дата: 12.07.16 09:21
Оценка:
Здравствуйте, S-SH, Вы писали:

SS>Здравствуйте, Denwer, Вы писали:


D>>Здравствуйте, S-SH, Вы писали:


SS>>>б) QStringLiteral есть в Qt 5 и нет в Qt 4


D>>Читаем первый пост: — Qt 5.4.2

D>>Казалось бы, причем тут 4-я версия?

SS>Ни при чем.

SS>Что не отменяет того факта, что ваше предложение в http://rsdn.ru/forum/cpp.qt/6080690.1
Автор: Denwer
Дата: 16.06.15
неработоспособно без использования QStringLiteral.


Конечно, я сразу и сказал, что мое предложение работоспособно если использовать советы разработчиков Qt, а именно применять нужно QStringLiteral.

SS>А мое предложение работает как в Qt 5, так и в Qt 4.

Пробежался по топику и не понял, какое именно?
Re[12]: на самом деле всё не так
От: Denwer Россия  
Дата: 12.07.16 09:28
Оценка: 4 (1)
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:


D>>...


D>>1 — добавить UTF-8 BOM

SaZ>Этого достаточно.

D>>2 — использовать QStringLiteral

SaZ>Не обязательно. Ни на что не повлияет. Читаем: для создания строки будет использоваться QString::fromUtf8, а поскольку исходник и так уже а utf-8, то всё будет работать.

Обязательно. Читать не хочу, советую просто попробовать:


Исходник к картинке:
    ui->label->setText("Это русский текст");
    ui->label_2->setText(QStringLiteral("Это русский текст"));
Re[13]: на самом деле всё не так
От: SaZ  
Дата: 12.07.16 09:42
Оценка:
Здравствуйте, Denwer, Вы писали:

D>...


Каюсь. Ворнинги компилятор даёт. Спасибо.
Re[15]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.16 10:36
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Конечно, я сразу и сказал, что мое предложение работоспособно если использовать советы разработчиков Qt, а именно применять нужно QStringLiteral.


Соглашусь, вы действительно так сказали. Правда, через год, но сразу.

SS>>А мое предложение работает как в Qt 5, так и в Qt 4.

D>Пробежался по топику и не понял, какое именно?

http://rsdn.ru/forum/cpp.qt/6481192.1
Автор: S-SH
Дата: 24.06.16
IMHO. смайлики добавить по вкусу.
Re: Еще один вопрос...
От: LaptevVV Россия  
Дата: 26.08.16 04:54
Оценка:
Как я понимаю, режимы компиляции для компилятора можно задавать в проекте в секции CONFIG.
Если это так, то каким образом задать, например, режим оптимизации О3 ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Еще один вопрос...
От: AlexGin Беларусь  
Дата: 26.08.16 06:36
Оценка: 13 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Как я понимаю, режимы компиляции для компилятора можно задавать в проекте в секции CONFIG.

LVV>Если это так, то каким образом задать, например, режим оптимизации О3 ?

QMAKE_CXXFLAGS += -O3

P.S. Вот тут примеры:
http://www.qtcentre.org/threads/59585-Adding-O3-compiler-option-in-Qt-Creator
http://stackoverflow.com/questions/12785364/configuration-for-optimizing-qt-creator-compiler
https://forum.qt.io/topic/16372/solved-qmake-and-optimization-flags-for-compiler
Отредактировано 26.08.2016 6:40 AlexGin . Предыдущая версия .
Re: Еще вопрос..
От: LaptevVV Россия  
Дата: 30.08.16 06:36
Оценка:
Пытаюсь установить minGW64 — облом
Вот отсюда: https://sourceforge.net/projects/mingwbuilds/files/
качаю mingw-builds-install
Запускаю.
При установке пишет, что не может найти некий текстовый файл.
Надо сначала host-windows установить?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.