Файл main.cpp #include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) {

QApplication a(argc, argv);

// Устанавливаем кодировку с которй будет работать программа (UTF-8 - точно ли она?)
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);

MainWindow w;
w.show();

return a.exec();
}
Файл mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

QStringList listCodec;
// все кодеки из доступных в Qt
listCodec << "Big5";
listCodec << "Big5-HKSCS";
listCodec << "CP949";
listCodec << "EUC-JP";
listCodec << "EUC-KR";
listCodec << "GB18030";
listCodec << "HP-ROMAN8";
listCodec << "IBM850";
listCodec << "IBM866";
listCodec << "IBM874";
listCodec << "ISO 2022-JP";
listCodec << "ISO 8859-1";
listCodec << "ISO 8859-2";
listCodec << "ISO 8859-3";
listCodec << "ISO 8859-4";
listCodec << "ISO 8859-5";
listCodec << "ISO 8859-6";
listCodec << "ISO 8859-7";
listCodec << "ISO 8859-8";
listCodec << "ISO 8859-9";
listCodec << "ISO 8859-10";
listCodec << "ISO 8859-13";
listCodec << "ISO 8859-14";
listCodec << "ISO 8859-15";
listCodec << "ISO 8859-16";
listCodec << "KOI8-R";
listCodec << "KOI8-U";
listCodec << "Macintosh";
listCodec << "Shift-JIS";
listCodec << "TIS-620";
listCodec << "TSCII";
listCodec << "UTF-8";
listCodec << "UTF-16";
listCodec << "UTF-16BE";
listCodec << "UTF-16LE";
listCodec << "Windows-1250";
listCodec << "Windows-1251";
listCodec << "Windows-1252";
listCodec << "Windows-1253";
listCodec << "Windows-1254";
listCodec << "Windows-1255";
listCodec << "Windows-1256";
listCodec << "Windows-1257";
listCodec << "Windows-1258";

text = "Îòïðàâèòåëü Ïîëó÷àòåëü";
ui->label->setText(text);

// Добавим из в comboBox
ui->comboBox->addItems(listCodec);

// Подключим сигнал изменеия comboBox
connect(ui->comboBox,SIGNAL(activated(QString)),this,SLOT(setCodec(QString)));

// Установим comboBox на нашу кодировку
ui->comboBox->setCurrentIndex(listCodec.indexOf("UTF-8"));

}

MainWindow::~MainWindow()
{
delete ui;
}

// Слот для изменения кодека
void MainWindow::setCodec(QString newCodec)
{
// Выбор кодека
QTextCodec *codec = QTextCodec::codecForName(newCodec.toLatin1());

// Изменяем кодировку
QByteArray encodedString = codec->fromUnicode(text);

// В label вписываем текст с новой кодировкой
ui->label->setText(encodedString);
}

2 ответов

9 просмотров

Доступные кодаки можно получить статической функцией https://doc.qt.io/qt-5/qtextcodec.html#availableCodecs

BV-Багров Автор вопроса

Какую мне тогда выбрать в main.cpp?

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Ребят, а двух-факторку для плагина Users и для бэкенда октября кто-то прикручивал? Поделитесь опытом
Constantine Anikin
4
Карта сайта