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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ввод фреймов в QTextEdit  (Прочитано 2807 раз)
borman
Гость
« : Апрель 10, 2009, 19:32 »

Требуется поместить в QTextEdit цепочку фреймов так, чтобы между ними не было пустых строк.
Создание цепочки любым из приведенных ниже способов создает такие строки.
Я знаю, что между QTextFrame'ами вставлюятся QTextBlock'и, и хотелось бы либо от них избавиться, либо убрать переносы строк.

Код:
#include <QtGui>

int main(int argc, char **argv)
{
  QApplication app(argc, argv);
  QTextEdit *edit = new QTextEdit();
  edit->show();
 
  QTextFrameFormat fmt;
  fmt.setBorderStyle(QTextFrameFormat::BorderStyle_Solid);
  fmt.setBorder(1);
 
  QTextCursor cursor = edit->textCursor();
 
  QStringList list;
  list << "One" << "Two" << "Three" << "Four";
 
  foreach(QString str, list)
  {
#if 0
    QTextFrame *frame = cursor.insertFrame(fmt);
    cursor.insertText(str);
    cursor.setPosition(frame->lastPosition()+1);
#else
    cursor.insertText(str);
    cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor);
    QTextFrame *frame = cursor.insertFrame(fmt);
    cursor.setPosition(frame->lastPosition()+1);
#endif
  }
 
  return app.exec();
}


З.Ы. workaround'ы аналогичные
Код:
  QFontMetrics fm(edit->font());
  fmt.setTopMargin(-fm.height()+1);
меня интересуют не сильно
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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