crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V  « < 2 3 4 5 >  
Ответить в данную темуНачать новую тему
> Написание чата, с чего начать нубу?
BRE
  опции профиля:
сообщение 27.12.2009, 17:18
Сообщение #31


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Посмотри на void QTextEdit::append ( const QString & text ) [slot]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 17:21
Сообщение #32


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Отлично все сделал!!
вот так:
    QString str = ptxt2->toPlainText();
    ptxt1->insertPlainText("> ");
    ptxt1->insertPlainText(str);
    ptxt1->insertPlainText("\n");
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 27.12.2009, 17:35
Сообщение #33


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Для чего делать три вызова метода, если достаточно одного:
    QString str = ptxt2->toPlainText();
    ptxt1->insertPlainText( QString( "> " ) + str + "\n" );
    // или
    ptxt1->insertPlainText( QString( "> %1\n" ).arg( str ) );

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 17:43
Сообщение #34


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


У меня назрел еще вопрос можно ли использовать стандартные директивы сишные.. например string.. или обязательно надо использовать их Qt'ешные аналоги?
Вот мне необходимо использовать функцию вхождения строки А в строку Б.. В стандартной директиве я знаю какую функцию мне использовать.. А здесь нет..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 27.12.2009, 17:47
Сообщение #35


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(breeve @ 27.12.2009, 17:43) *
У меня назрел еще вопрос можно ли использовать стандартные директивы сишные.. например string.. или обязательно надо использовать их Qt'ешные аналоги?
Вот мне необходимо использовать функцию вхождения строки А в строку Б.. В стандартной директиве я знаю какую функцию мне использовать.. А здесь нет..

Почитай про класс QString. Там функционала с избытком. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 18:02
Сообщение #36


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


вот нашел функцию QString::contains()
и она мне всегда говорит 0.
Не понимаю вот код:
    int count = 0;
    QString str = ptxt2->toPlainText();
    if(str.contains("Привет")==1)
        count = 1;
    qDebug() << count;
    if(count == 1)
    {
        ptxt1->insertPlainText("Bot: H1\n");
        count = 0;
    }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 27.12.2009, 18:08
Сообщение #37


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(breeve @ 27.12.2009, 18:02) *
вот нашел функцию QString::contains()
и она мне всегда говорит 0.
if(str.contains("Привет")==1)

Все правильно, почитай в assistant про то, как в Qt хранятся строки, про QTextCodec и локализацию. С этим нужно разобраться сразу и тогда масса вопросов отпадет сама собой. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 18:14
Сообщение #38


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Я даже понял в чем проблема, только не знаю как решить ее
Когда я ввожу с клавиатуры.. там видимо кодировка другая и поэтому он не определяет.. с цифрами и с латинским алфавитом работает а вот с русским(((
Как мне переделать строку под определенную кодировку ?

не успеваю задать вопрос уже ответ написали))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2009, 18:14
Сообщение #39


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(breeve @ 27.12.2009, 21:09) *
Как мне переделать строку под определенную кодировку ?
надо строковые константы перевести в QString, в функции main:
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Для функций перевода tr()
вместо UTF-8 укажи кодировку, в которой сам исходник пишется.

Далее в коде оборачивай строковые константы в функцию tr:
tr("Привет")
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.12.2009, 18:38
Сообщение #40


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 27.12.2009, 18:14) *
Цитата(breeve @ 27.12.2009, 21:09) *
Как мне переделать строку под определенную кодировку ?
надо строковые константы перевести в QString, в функции main:
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Для функций перевода tr()
вместо UTF-8 укажи кодировку, в которой сам исходник пишется.

Далее в коде оборачивай строковые константы в функцию tr:
tr("Привет")



вот эта функция tr() она принимает на значение const char*, так? а мне же надо перевести QString в другую кодировку.. А ты мне пишешь "Надо строковые константы перевести в QString".. помоему как раз таки наоборот.. QString в const char..



Я видимо не так понял)) Подставил tr под "привет" и все заработало)) Спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V  « < 2 3 4 5 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 22:02