Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ treeWidget заполнить из БД.

Автор: potkin 18.8.2010, 12:17

Есть "treeWidget" надо заполнить его из БД.
Вопрос, даже не про БД, а про "treeWidget".
Подскажите: где можно "хранить" id-шник записи из БД ???

Автор: Алексей1153 18.8.2010, 12:42

QMap<int,QObject>
подойдёт
(только что в соседней теме вопрос такой же ))) )

для удобства можно ещё вести мап
QMap<QObject,int>

Автор: Litkevich Yuriy 18.8.2010, 13:55

Цитата(potkin @ 18.8.2010, 16:17) *
"хранить" id-шник записи из БД ???
у этих виджетов есть метод setData() там и храни

Автор: potkin 18.8.2010, 15:33

Не понимает кирилицу, ...
Подскажите, как поменять кодировку, на UTF-8 ???

Автор: Litkevich Yuriy 18.8.2010, 16:00

Цитата(potkin @ 18.8.2010, 19:33) *
Не понимает кирилицу, ...
Подскажите, как поменять кодировку, на UTF-8 ???
кто/что не понимает кириллицу, где поменять кодировку?

Автор: potkin 18.8.2010, 16:23

Цитата(Litkevich Yuriy @ 18.8.2010, 16:00) *
Цитата(potkin @ 18.8.2010, 19:33) *
Не понимает кирилицу, ...
Подскажите, как поменять кодировку, на UTF-8 ???
кто/что не понимает кириллицу, где поменять кодировку?

например код создания Топа в "treeWidget"
    QTreeWidgetItem *LeftItem1 = new QTreeWidgetItem(ui->treeWidget);
    LeftItem1->setText(0, tr("Константы"));
    LeftItem1->setData(0, Qt::UserRole,QString("0"));

Вместо "Константы" - иероглифы :)
Подскажите как исправить ?

Автор: Litkevich Yuriy 18.8.2010, 16:30

если у тебя исходник в UTF8, то вместо tr() используй trUtf8()
Если же исходник в другой кодировке, то в функции main напиши:

QTextCodec::setCodecForTr(QTextCodec::codecForName("myencodding"));

текст вместо myencodding замени названием подходящего кодека (см. описание класса QTextCodec)

Автор: FantasyOr 20.8.2010, 12:58

тоже были иероглифы, до сегодня, нашел вот что:

в main написал:

QTextCodec *codec = QTextCodec::codecForName("CP1251");
QTextCodec::setCodecForTr(codec);


дальше где нужно строку вводить tr("Файл").
вот что странно:
при читении из файла текстового с кодировкой нет никаких проблем, ничего в tr засовывать не надо.

Автор: Litkevich Yuriy 20.8.2010, 14:25

Цитата(FantasyOr @ 20.8.2010, 16:58) *
при читении из файла текстового с кодировкой нет никаких проблем, ничего в tr засовывать не надо.
значит ты не понимаешь, что ты делаешь.

Цитата(FantasyOr @ 20.8.2010, 16:58) *
дальше где нужно строку вводить tr("Файл").
предлагаю тебе поменять кодировку файла с исходником, в котором ты так сделал. Например, на UTF-8. посмотри что будет.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)