Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 02:32   #1
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию Абракадабра в тексте

Доброй ночи. Возникла проблема вывода текста в QT Creater 4. Заместо любого слова на русском выводится абракадабра.
например
layout->addTab(setGenera(), tr("Вся работа"));

Между делом еще и в браузере если что нить варганишь(страничку) блин такая же фигня!!!! Уж не туплю ли я))))

Помогитеее!!!
Notan1310 вне форума Ответить с цитированием
Старый 09.11.2012, 13:56   #2
AlexMas
Пользователь
 
Аватар для AlexMas
 
Регистрация: 30.05.2012
Сообщений: 69
По умолчанию

В main определи кодеки перед объявлением класса окна, и наступит щастье =)
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextCodec *cyrillicCodec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(cyrillicCodec);
    QTextCodec::setCodecForLocale(cyrillicCodec);
    QTextCodec::setCodecForCStrings(cyrillicCodec);

     MainWindow w;
     w.show();
     return a.exec();
 }
AlexMas вне форума Ответить с цитированием
Старый 21.12.2012, 12:24   #3
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Привет!

У меня почему-то не получается:



Код:
#include <QApplication>
#include <QVBoxLayout>
#include <QLabel>
#include <QTextCodec>

int main(int argc, char * argv[])
{
    QApplication a(argc, argv);
    QTextCodec *cyrillicCodec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(cyrillicCodec);
    QTextCodec::setCodecForLocale(cyrillicCodec);
    QTextCodec::setCodecForCStrings(cyrillicCodec);
    QWidget window;

    QVBoxLayout* mainLayout = new QVBoxLayout(&window);
    QLabel* label1 =new QLabel(QObject::tr("One"));
    QLabel* label2=new QLabel(QObject::tr("Один"));
    mainLayout->addWidget(label1);
    mainLayout->addWidget(label2);

    window.show();

    return a.exec();
}
Иван
8Observer8 вне форума Ответить с цитированием
Старый 26.12.2012, 09:55   #4
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

Попробуй так

Код:
QLabel* label1 =new QLabel(QObject::trUtf8("Один"));
Если не пойдёт попробуй поменять кодировку страницы исходника.
der_igel вне форума Ответить с цитированием
Старый 26.12.2012, 11:48   #5
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Привет, der_igel!

Менял кодировку исходника - не помогло
8Observer8 вне форума Ответить с цитированием
Старый 26.12.2012, 12:21   #6
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

В Qt Creator Правка-Выбрать кодировку-UTF8-Сохранить в кодировке
der_igel вне форума Ответить с цитированием
Старый 26.12.2012, 12:25   #7
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Не помогает, нажал "Save with Encoding"

8Observer8 вне форума Ответить с цитированием
Старый 26.12.2012, 12:34   #8
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

QObject::trUtf8 вместо QObject::tr ставил? Какая ОС стоит?
der_igel вне форума Ответить с цитированием
Старый 26.12.2012, 13:06   #9
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от der_igel Посмотреть сообщение
QObject::trUtf8 вместо QObject::tr ставил? Какая ОС стоит?
Да ставил. Windows 7. У меня английская версия винды. Может как-то с этим связано?
8Observer8 вне форума Ответить с цитированием
Старый 26.12.2012, 15:15   #10
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

Сделай скрин

Код:
#include <QApplication>
#include <QVBoxLayout>
#include <QLabel>

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

    QVBoxLayout* mainLayout = new QVBoxLayout(&window);
    QLabel* label1 =new QLabel(QObject::tr("One"));
    QLabel* label2=new QLabel(QObject::tr("Один"));
    QLabel* label3=new QLabel("Один");
    QLabel* label4=new QLabel(QObject::trUtf8("Один"));
    mainLayout->addWidget(label1);
    mainLayout->addWidget(label2);
    mainLayout->addWidget(label3);
    mainLayout->addWidget(label4);

    window.show();

    return a.exec();
}
der_igel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему вместо посчитанной суммы, в файл записывается непонятная абракадабра? ЛерочкаPj Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 31.05.2011 19:22
абракадабра в теме письма при отправки через TIdSMTP fate Общие вопросы Delphi 1 24.05.2011 22:55
Абракадабра какая-то dubailand Общие вопросы Delphi 7 21.05.2011 10:27
Абракадабра в Memo Тутонхамон Работа с сетью в Delphi 3 22.03.2011 09:40
В тексте... Olalya da Silva Паскаль, Turbo Pascal, PascalABC.NET 2 14.01.2009 19:58