Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифратор Виженера, работа с QTextEdit  
:(
    Опции темы
Aline
Дата 11.6.2013, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Очередное задание и очередной ступор. Опыта работы с QT никакого, не хватает знаний по синтаксису и вообще smile. Необходимо написать шифратор Виженера (консольное приложение и с пользовательским интерфейсом). Решила начать с пользовательского интерфейса ( мне так интересней, да и в скором будущем предстоит строить формы). Надо изучать элементы и их возможности. Соответственно для ввода текста использую TextEdit (подразумевается, что туда можно будет и текст из файла загружать). Сам алгоритм шифратора я нашла, реализовать не проблема. По крайней мере в C++ Builder я бы быстро сделала. А тут спотыкаюсь на каждом шагу. Вот к примеру: чтобы шифровать текст, мне надо взять 1 символ и поменять его. Как это можно сделать с TextEdit? Я думала, что можно текст перевести в String и дальше работать посимвольно. Но как? Или брать 1 строку и построчно с ней работать? Вроде там есть какой то метод получения одной строки из TextEdit. Подскажите пожалуйста...
PM MAIL   Вверх
math64
Дата 11.6.2013, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 23
Всего: 72



Для получения текста из QTextEdit можно воспользоваться методом toPlainText(), возвращающим QString.
Для изменения всего текста - setPlainText()
Если текст форматированный, toHtml() и setHtml() соответственно.
Можно работать отдельно с документом - document() и setDocument().

Для редактирования в одной строке используется QLineEdit, для доступа к тексту - text() и setText().
PM   Вверх
Aline
Дата 11.6.2013, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



math64, спасибо!
PM MAIL   Вверх
borisbn
Дата 11.6.2013, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135





--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Aline
Дата 11.6.2013, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Не могу понять: если я на форму выкладываю элемент TextEdit, надо ли где то его еще описывать в программе? Ввожу текст, жму на кнопку и в резултате получается, что в екстовом поле нет значений, хотя я ввела текст. Для проверки делаю:

Код

void MainWindow::onShifrText()
{
  QString s;

  s = ui->txtEdit->toPlainText();
  ui->txtEditShifr->toPlainText()=s;
}


Когда пытаюсь посмотреть содержимое ui->txtEdit->toPlainText(), то пишет "no such value", соответственно s остается пустой, в чем дело то?

Добавлено через 6 минут и 25 секунд
Что то бред какой то: после n-го запуска вдруг заработала первая строка,во второй строке исправила на
Код

ui->txtEditShifr->setPlainText(s);


теперь вроде работает

Добавлено через 7 минут и 17 секунд
borisbn, спасибо!smile
PM MAIL   Вверх
bsa
Дата 11.6.2013, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Цитата(Aline @  11.6.2013,  10:29 Найти цитируемый пост)
ui->txtEditShifr->toPlainText()=s;
В Qt нет свойств аналогичных Builder. Тут все свойства в виде отдельных функций чтения и установки.
PM   Вверх
Aline
Дата 11.6.2013, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



bsa, ну я только начинаю его изучать, пока не всё прозрачно понятно:)
PM MAIL   Вверх
Majestio
Дата 11.6.2013, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Цитата(Aline @ 11.6.2013,  13:02)
bsa, ну я только начинаю его изучать, пока не всё прозрачно понятно:)

Есть хорошая штучка для отладки:

Код

qDebug() << "Переменная Ы:" << iI;


Сэкономишь время на разборках.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.