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