Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] Скопировать текст в буфер обмена


Автор: Serbis 18.3.2008, 21:16
Помогите новичку найти решение. Нужно напрямую(не через copy()) скопировать выделенный текст в TextEdit в буфер обмена, но не смог найти нужную функцию.
Код

QTextEdit *edit = new QTextEdit;
QString str = ..........
QApplication::clipboard()->setText(str);    
 

 smile 

Автор: JackYF 19.3.2008, 21:07
Цитата(Serbis @  18.3.2008,  20:16 Найти цитируемый пост)
QString str = ..........

Код

QString str = edit->text();

smile

Автор: SABROG 20.3.2008, 09:51
А что значит "напрямую" ?

Почему именно через QApplication, а не через edit->copy() ?

Код

QString str = edit->textCursor()->selectedText();



JackYF: так у тебя весь текст скопируется, а не выделенный.

Автор: JackYF 20.3.2008, 14:38
Цитата(SABROG @  20.3.2008,  08:51 Найти цитируемый пост)
JackYF: так у тебя весь текст скопируется, а не выделенный.

Упс, недочитал. Пардон smile

Автор: Serbis 20.3.2008, 19:28
C БМ я проблему уже решил, но у меня возник вопросец про text().
Вбиваю я значит такой код
Код

QString pt = text();

и получаю "нет декларации text в этой области видимости", поставил this, теперь получил что класс Word(мой класс, наследник QTextEdit) не имеет такого члена, сослался с прямым указанием на класс QTextEdit, получил ошибку что text не является элеменом QTextEdit... smile Где ж его тогда брать???

Автор: SABROG 20.3.2008, 21:09
А у него никогда и небыло свойства text().
Токма эти два

Цитата

QString toHtml () const 
QString toPlainText () const 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)