как пользоваться bool QTextEdit::find(const QString & exp, QTextDocument::FindFlags options = 0) |
Здравствуйте, гость ( Вход | Регистрация )
как пользоваться bool QTextEdit::find(const QString & exp, QTextDocument::FindFlags options = 0) |
eldar85 |
30.3.2010, 8:07
Сообщение
#1
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
попробывал так:
но он ничего не находит. хочу написать что то типа текстового редактора с поиском слова. посмотрел пример найденый в сети, но там использован qt disainer. |
|
|
kwisp |
30.3.2010, 8:54
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
eldar85,
эта функция ищет строку а не регулярное выражение которое ты задаешь. вероятно строки "[0-9]*" нет в документе и поэтому ничего не находит. попробуй в строке
замени QString на QRegExp |
|
|
eldar85 |
30.3.2010, 10:56
Сообщение
#3
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
спасибо, но тоже не выходит. не находит зараза.
можно коннечно вот так сделать
но опять же он не выделит найденный текст, а просто поместит его в строку.... и хотелось бы все же освоить функцию find(); Сообщение отредактировал eldar85 - 30.3.2010, 11:12 |
|
|
kwisp |
30.3.2010, 12:01
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
хочешь сказать что это не работает?
Цитата QTextCursor QTextDocument::find ( const QRegExp & expr, const QTextCursor & cursor, FindFlags options = 0 ) const Finds the next occurrence, matching the regular expression, expr, in the document. The search starts at the position of the given cursor, and proceeds forwards through the document unless specified otherwise in the search options. The options control the type of search performed. The FindCaseSensitively option is ignored for this overload, use QRegExp::caseSensitivity instead. Returns a cursor with the match selected if a match was found; otherwise returns a null cursor. If the given cursor has a selection, the search begins after the selection; otherwise it begins at the cursor's position. By default the search is case-sensitive, and can match text anywhere in the document. не верю ищи ошибку. П.С. Хотя может баг, но это маловероятно. |
|
|
eldar85 |
30.3.2010, 23:08
Сообщение
#5
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
я в этом QTextCursor QTextDocument::find ( const QRegExp & expr, const QTextCursor & cursor, FindFlags options = 0 ) const
вообще не пойму что подставлять сюда - const QTextCursor & cursor и сюда - FindFlags options = 0 ... ладно, буду дальше читать книгу по Qt, может что нить еще полезное вычитаю) |
|
|
kwisp |
31.3.2010, 8:39
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
сюда - const QTextCursor & cursor курсор от которого искать и сюда - FindFlags options = 0 ... опции поиска, с учетом и без учёта регистра и проч. у тебя несколько перегруженных функций QTextDocument::find, используй любую с поиском регулярного выражения. А лучше попробуй обе. Возвращают они курсор в первой найденой позиции в случае успеха. П.С. и будь внимательнее в названии темы ты указал одну функцию, а спрашиваешь про другую(другие)..... |
|
|
eldar85 |
31.3.2010, 11:43
Сообщение
#7
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
хорошо, спасибо)
|
|
|
Текстовая версия | Сейчас: 28.1.2025, 17:16 |