Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
1

Создание буфера обмена для Текстового редактора

22.05.2012, 00:35. Просмотров 1548. Ответов 12
Метки нет (Все метки)

делаю курсовик на qt пишу текстовый редактр, нужно создать буфер обмена, а я в этом вообще никак, еще нужно наладить замену слова
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 QString searchString = ui->lineEdit->text();
    QTextDocument *document = ui->text1->document();
 
    bool found = false;
 
    if (isFirstTime == false)
        document->undo();
 
    if (searchString.isEmpty()) {
        QMessageBox::information(this, tr("Empty Search Field"),
                "The search field is empty. Please enter a word and click Find.");
    } else {
 
        QTextCursor highlightCursor(document);
        QTextCursor cursor(document);
 
        cursor.beginEditBlock();
 
        QTextCharFormat plainFormat(highlightCursor.charFormat());
        QTextCharFormat colorFormat = plainFormat;
        colorFormat.setForeground(Qt::blue);
        while (!highlightCursor.isNull() && !highlightCursor.atEnd()) {
            highlightCursor = document->find(searchString, highlightCursor, QTextDocument::FindWholeWords);
 
            if (!highlightCursor.isNull()) {
                found = true;
                highlightCursor.movePosition(QTextCursor::WordRight,
                                       QTextCursor::KeepAnchor);
                highlightCursor.mergeCharFormat(colorFormat);
            }
        }
 
 
        cursor.endEditBlock();
 
        isFirstTime = false;
 
        if (found == false) {
            QMessageBox::information(this, tr("Word Not Found"),
                "Sorry, the word cannot be found.");
        }
    }

нашел эту программу но она выделяет слова, а как переделать под замену не получается.....Английский знаю плохо, поэтому если можно ссылки на документации классов не давать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 00:35
Ответы с готовыми решениями:

Основа для текстового редактора
Привет, хочу сделать для себя редактор кода, со следующим функционалом. 1)...

Вставка текста из буфера обмена QClipboard
Привет ребят! У меня на форме есть LineEdit в который выводится содержимое...

QTextEdit вставить изображение из буфера обмена
Здравствуйте, собственно как это сделать? Пытался использовать QMimeData, но...

Парадигмы текстового редактора
У текстовых редакторов существует 2 парадигмы (может быть слово неправильное и...

Реализация простого текстового редактора
Срочно нужна помощь. Нужен простой текстовый редактор. Он должен уметь ...

12
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
22.05.2012, 09:36 2
да посмотрите вы наконец примеры в qt там есть пример текстового редактора
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
22.05.2012, 10:48  [ТС] 3
Цитата Сообщение от Чистый Посмотреть сообщение
да посмотрите вы наконец примеры в qt там есть пример текстового редактора
смотрел чуть ли наизусть знаю код, ну а понять некоторые функции не могу.....
0
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
22.05.2012, 12:18 4
ну так код который не понятен сюда и спрашивай что не понятно.....
0
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
22.05.2012, 17:26 5
Цитата Сообщение от Vadikk Посмотреть сообщение
ну а понять некоторые функции не могу.....
рано тогда начали делать, там все на примитивном уровне, больше углубитесь в изучение С++а, а потом вернитесь к Qt
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
22.05.2012, 21:21  [ТС] 6
проблема, есть окно главное, и создал диалоговое окно, а вот как установить связь между ними не пойму, что бы допустим из однго окна plaintext брал текст и помещал в другое?
0
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
23.05.2012, 14:49 7
можно передавать это через сигнал слот, или же через public методы выбирайте на свой вкус
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
23.05.2012, 22:04  [ТС] 8
а через родителей можно?

Добавлено через 31 минуту
что то совсем заглумился, помогите создать дочернее окно для поиска и замены слов из текст наход в главном окне в qplainedit.. Если не трудно

Добавлено через 3 часа 57 минут
C++ (Qt)
1
2
3
4
5
QString word=ui->lineEdit->text();
    QString word2=ui->lineEdit_2->text();
    QString str =ui->text1->toPlainText();
    str.replace(word,word2);
    ui->text1->setPlainText(str);
Вопрос str.replace заменяет во всем тексте, а есть ли функция которая заменяет всего одно слово
0
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
23.05.2012, 23:18 9
можно найти первое вхождение этого слова и его заменить уже
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
23.05.2012, 23:28  [ТС] 10
Цитата Сообщение от Чистый Посмотреть сообщение
можно найти первое вхождение этого слова и его заменить уже
каким образом?
0
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
23.05.2012, 23:28 11
в классе Qstring все есть поищите немного....
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
24.05.2012, 17:56  [ТС] 12
с помощью функции find нашел нужное слово,он его выделил, как заменить его ?

Добавлено через 17 минут
и как выделенное слово забить в строку
0
Чистый
Автор FAQ
2714 / 1410 / 89
Регистрация: 08.09.2011
Сообщений: 3,741
Записей в блоге: 1
25.05.2012, 08:30 13
функция replace есть и др аргументы т.е. Она не один раз перегружнна,воспользуйтесь поиском!
0
25.05.2012, 08:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2012, 08:30

В каком событии лучше всего проверять изменения буфера обмена?
Только начинаю изучать Qt. Делаю блокнот на подобии стандартного в Windows. В...

Qt Creator - настройки текстового редактора, фрагменты
Добрый день, Пытаюсь настроить для текстового редактора инициатор...

Создание своего редактора
Желание такое: есть написанные мною классы на Qt. Хочу создать для людей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru