crossplatform.ru

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

> TextEdit, добавление текста
Antrix
  опции профиля:
сообщение 14.11.2008, 23:47
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.9.2008
Пользователь №: 300

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




Репутация:   0  


Проблемма в следующем:
1. Есть TextEdit_1
2. Есть TextEdit_2

Нужно добавить текст из TextEdit_2 в TextEdit_1.
У TextEdit'та есть метод
QTextDocument * document () const - получить указатель на документ, но возникает вопрос, а как же теперь добавить полученный QTextDocument к другому TextEdit'ту?
Метод
void setDocument ( QTextDocument * document ) - не подходит, ибо устанавливает документ, а мне нужно к уже существующему добавить новый.
Возможно мне надо каким-то образом QTextDocument рабивать на QString и добавлять построчно
void append ( const QString & text ) - ?
Подскажите пожалуйста.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Antrix
  опции профиля:
сообщение 16.11.2008, 13:11
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.9.2008
Пользователь №: 300

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




Репутация:   0  


Вот объявление класса
#ifndef _MainWindow_h_
#define _MainWindow_h_

#include <QMainWindow>
#include "ui_Form.h"
#include "AServer.h"
#include "AClient.h"
#include <QTextDocument>

class MainWindow : public QMainWindow, public Ui::MainWindow
{
    Q_OBJECT
public:
    MainWindow(QMainWindow* parent = 0);

private:
    AServer* server;
    AClient* client;
    bool serverEnableFlag;//флаг работе сервера
    bool clientEnableFlag;//флаг работы клиента
    bool cilentDisconnectedFlag;//флаг отсоединения клиента
    QString nickName;//ник
    QString nickNameOutput;//отформатированый ник
    QString setNick(QString nick);//форматирование ника

signals:
    //сигнал посылки текста
    void sendText(const QTextDocument&);
    void sendText(const QString&);
    //сигнал посылки ника
    void sendNick(QString);

public slots:
    //слот установки режима сервера
    void slotSetServerMode();
    //слот установки режима клиента
    void slotSetClientMode();
    //слот посылки текста
    void slotSendText();
    //слот смены ника
    void slotChangeNick();
    //слот ошибки сокета клиента
    void slotClientError();

    //слот вывода текста
    void slotTextOutput(QString);
    void slotTextOutput(QTextDocument*);

    void test(QTextDocument a);
    
};

#endif

Реализация
#include <QMessageBox>
#include "MainWindow.h"
#include "AServer.h"
#include "AClient.h"
#include "InputDialog.h"
#include "NickDialog.h"
#include "ui_Form.h"
#include <QTextDocument>
#include <QtSql>
#include <QSqlDatabase>
#include "DataBase.h"

const int Port = 5555;

MainWindow::MainWindow(QMainWindow *parent) : QMainWindow(parent)
{    
    . . .
}




void MainWindow::test(QTextDocument a)
{

}



Ошибка:

------ Build started: Project: chat, Configuration: Debug Win32 ------
MOC MainWindow.h
Compiling...
moc_MainWindow.cpp
.\tmp\moc\debug_shared\moc_MainWindow.cpp(95) : error C2248: 'QTextDocument::QTextDocument' : cannot access private member declared in class 'QTextDocument'
        c:\qt\4.4.1\include\qtgui\../../src/gui/text/qtextdocument.h(276) : see declaration of 'QTextDocument::QTextDocument'
        c:\qt\4.4.1\include\qtgui\../../src/gui/text/qtextdocument.h(106) : see declaration of 'QTextDocument'
main.cpp
MainWindow.cpp
AServer.cpp
Generating Code...
c:\qt\4.4.1\bin\chat\mainwindow.cpp(164) : warning C4700: uninitialized local variable 'documentBuffer' used
Build log was saved at "file://c:\QT\4.4.1\bin\chat\tmp\obj\debug_shared\BuildLog.htm"
chat - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Причина редактирования: для длинного кода вместо codebox используйте expand
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




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