Требуется поместить в 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);
меня интересуют не сильно