Russian Qt Forum
Сентябрь 30, 2024, 10:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDataWidgetMapper  (Прочитано 7743 раз)
crossly
Гость
« : Сентябрь 11, 2008, 10:08 »

всем привет... есть таблица в mysql... в ней есть поле типа ТЕХТ которое маппится в textEdit... так вот если размер текста в этом поле достаточно большой то данные мапятся очень долго... около 40 сек при размере порядка 40к.... вопрос... почему??.. и как быть..??
Записан
developer
Гость
« Ответ #1 : Сентябрь 11, 2008, 10:56 »

Попробуй вместо поля типа TEXT использовать поле типа BLOB ну или подобное которое поддерживает твоя база данных, и еще лучше если ты приведеш тут свой код.
Записан
ритт
Гость
« Ответ #2 : Сентябрь 11, 2008, 10:59 »

textEdit - это QTextEdit ?
а если устанавливать содержимое напрямую (без мускуля и маппера - например, из файла), тормоза тоже есть?
Записан
crossly
Гость
« Ответ #3 : Сентябрь 11, 2008, 11:11 »

пробовал и блоб... один хер... пробовал без маппера....(выбирал запросом потом вставлял)... то же самое... (QTextEdit)...
Записан
registrationfedser87
Гость
« Ответ #4 : Сентябрь 11, 2008, 11:37 »

вот пример загрузки из файла в QTextEdit(взят из стандартного создаваемого приложения), загружает довольно быстро:
Код:
void loadFile(const QString &fileName)
{
      QFile file(fileName);
      if (!file.open(QFile::ReadOnly | QFile::Text)) {
            QMessageBox::warning(this, tr("Application"),
                              tr("Cannot read file %1:\n%2.")
                              .arg(fileName)
                              .arg(file.errorString()));
            return;
      }

      QTextStream in(&file);
      QApplication::setOverrideCursor(Qt::WaitCursor);
      textEdit->setPlainText(in.readAll());
      QApplication::restoreOverrideCursor();
      textEdit->document()->setModified(false);
}
Записан
ритт
Гость
« Ответ #5 : Сентябрь 11, 2008, 11:58 »

а какая версия Qt?
не знаю как с плэйнтекстом, а с хтмл раньше заметно тормозило
Записан
registrationfedser87
Гость
« Ответ #6 : Сентябрь 11, 2008, 12:05 »

версия Qt-4.4.1
заменил строчку
Код:
textEdit->setPlainText(in.readAll());
на
Код:
textEdit->setHtml(in.readAll());
чтобы загрузить и отобразить html-документ-скорость тоже на высоте.
Записан
crossly
Гость
« Ответ #7 : Сентябрь 11, 2008, 12:07 »

ага ... просёк.... я устанавливаю текст с помощью toHtml... если поставить toPlainText то все гуд... только вот как быть если у меня есть как обычный текст так и html...??
Записан
registrationfedser87
Гость
« Ответ #8 : Сентябрь 11, 2008, 12:13 »

Попробуй как я написал выше:
Код:
textEdit->setHtml(in.readAll());
Записан
crossly
Гость
« Ответ #9 : Сентябрь 11, 2008, 12:18 »

так я же и говорю.... если setHtml то текст в формате хтмл вставляется нормально.... а если обычный текст то жутко тормозит....
Записан
crossly
Гость
« Ответ #10 : Сентябрь 11, 2008, 12:25 »

все разобрался... всем спасибо... помог Qt::mightBeReachText(const QString &)
Записан
registrationfedser87
Гость
« Ответ #11 : Сентябрь 11, 2008, 12:25 »

странно...я через textEdit->setHtml(in.readAll()); вставлял и обычный текстовый файл,скорость тоже была нормальной
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 20.