Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 27.12.2009, 20:37 |
ак вот а tr() не хочет принимать QString на параметр.. пишет ошибку а зачем ему принимать QString, он тебе QString'ов делает, их и используй.Вставил он работает.. только мне нужно чтобы не комбинацию считывал, а одну кнопку.. я пытался убрать альт и оставить только ентер вот так: (Qt::Key_Return) посмотри тему: перемещение курсора в QTextEdit, там есть обработка события нажатия клавиши "Enter". Если будет не достаточно создай новую, уточняющую тему, или наоборот более общую. |
|
breeve | Дата 27.12.2009, 19:44 |
просто константа "Привет" будет превращена в QString, с его внутренним представлением, из кодировки которую ты указваешь глобально в main'е. А дальше при сравнении двух QString, сравниваться уже будут строки в одной и тоже внутренней кодировке Qt (UTF-16) Да это конечно все хорошо.. все понятно, все работает.. Я на самом деле думал что будет не одна строка "Привет" а допустим массив QString где много разных привет и допустим если введенное слово совпадает со словом из одного массива то пишет одно, из другого другое.. Так вот а tr() не хочет принимать QString на параметр.. пишет ошибку А насчет Ентера нашел тут вот тему прошлогоднюю и там был код я его малец переделал:
Вставил он работает.. только мне нужно чтобы не комбинацию считывал, а одну кнопку.. я пытался убрать альт и оставить только ентер вот так: (Qt::Key_Return) он у меня так не работает.. Искал в документацию как забиндить одну кнопку что-то так и не нашел( |
|
Litkevich Yuriy | Дата 27.12.2009, 19:15 |
просто константа "Привет" будет превращена в QString, с его внутренним представлением, из кодировки которую ты указваешь глобально в main'е. А дальше при сравнении двух QString, сравниваться уже будут строки в одной и тоже внутренней кодировке Qt (UTF-16) |
|
breeve | Дата 27.12.2009, 18:38 |
Как мне переделать строку под определенную кодировку ? надо строковые константы перевести в QString, в функции main: вместо UTF-8 укажи кодировку, в которой сам исходник пишется.Далее в коде оборачивай строковые константы в функцию tr:
вот эта функция tr() она принимает на значение const char*, так? а мне же надо перевести QString в другую кодировку.. А ты мне пишешь "Надо строковые константы перевести в QString".. помоему как раз таки наоборот.. QString в const char.. Я видимо не так понял)) Подставил tr под "привет" и все заработало)) Спасибо |
|
Litkevich Yuriy | Дата 27.12.2009, 18:14 |
Как мне переделать строку под определенную кодировку ? надо строковые константы перевести в QString, в функции main: вместо UTF-8 укажи кодировку, в которой сам исходник пишется.Далее в коде оборачивай строковые константы в функцию tr:
|
|
breeve | Дата 27.12.2009, 18:14 |
Я даже понял в чем проблема, только не знаю как решить ее Когда я ввожу с клавиатуры.. там видимо кодировка другая и поэтому он не определяет.. с цифрами и с латинским алфавитом работает а вот с русским((( Как мне переделать строку под определенную кодировку ? не успеваю задать вопрос уже ответ написали)) |
|
BRE | Дата 27.12.2009, 18:08 |
вот нашел функцию QString::contains() и она мне всегда говорит 0. if(str.contains("Привет")==1) Все правильно, почитай в assistant про то, как в Qt хранятся строки, про QTextCodec и локализацию. С этим нужно разобраться сразу и тогда масса вопросов отпадет сама собой. |
|
breeve | Дата 27.12.2009, 18:02 |
вот нашел функцию QString::contains() и она мне всегда говорит 0. Не понимаю вот код:
|
|
BRE | Дата 27.12.2009, 17:47 |
У меня назрел еще вопрос можно ли использовать стандартные директивы сишные.. например string.. или обязательно надо использовать их Qt'ешные аналоги? Вот мне необходимо использовать функцию вхождения строки А в строку Б.. В стандартной директиве я знаю какую функцию мне использовать.. А здесь нет.. Почитай про класс QString. Там функционала с избытком. |
|
breeve | Дата 27.12.2009, 17:43 |
У меня назрел еще вопрос можно ли использовать стандартные директивы сишные.. например string.. или обязательно надо использовать их Qt'ешные аналоги? Вот мне необходимо использовать функцию вхождения строки А в строку Б.. В стандартной директиве я знаю какую функцию мне использовать.. А здесь нет.. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 16:34 |