Автор: grio 10.3.2010, 2:39
Как бы ни смешно это звучало, нужна помощь в рисовании линии в QTextDocumet.
Знаю один простой способ: cursor.insertHtml("<hr>");,
но он, к сожалению, не подходит, потому что образуется большой отступ от предыдущей строки текста.
Пытаюсь нарисовать иначе, делаю, например, так:
cursor.insertBlock();
QTextLayout *layout = cursor.block().layout();
layout->beginLayout();
QTextLine line = layout->createLine();
if (line.isValid()){
line.setPosition(QPointF(0, 0));
line.setLineWidth(200);
}
layout->endLayout();
Но этот код результатов не дает.
Подскажите, как правильно, плиз.
В догонку. Вот такой еще способ придумал,
QTextCharFormat tcf_bgblack;
tcf_bgblack.setBackground(Qt::black);
tcf_bgblack.setFontPointSize(1);
....
tbl_body->cellAt(0,0).setFormat(tcf_bgblack);
К сожалению тоже не годится, потому что линия получается слишком толстая.
Парни, ну не картинку же вставлять?
Автор: SABROG 10.3.2010, 12:35
Цитата(grio @ 10.3.2010, 2:39)
tcf_bgblack.setFontPointSize(1);
Тип qreal.
1 - 1.0
0.1 - в десять раз тоньше
Автор: grio 10.3.2010, 14:09
Цитата(SABROG @ 10.3.2010, 13:35)
Цитата(grio @ 10.3.2010, 2:39)
tcf_bgblack.setFontPointSize(1);
Тип qreal.
1 - 1.0
0.1 - в десять раз тоньше
пробовал 0.1 и 1 нет отличий в отбражении
Автор: SABROG 10.3.2010, 14:27
Цитата(grio @ 10.3.2010, 2:39)
Парни, ну не картинку же вставлять?
Ну можно не вставлять, можно нарисовать
по аналогии с "Text Object Example", там через QPainter (drawObject()) рисуется svg, а можно рисовать свою линию.
Автор: grio 10.3.2010, 21:04
Цитата(SABROG @ 10.3.2010, 15:27)
Цитата(grio @ 10.3.2010, 2:39)
Парни, ну не картинку же вставлять?
Ну можно не вставлять, можно нарисовать
по аналогии с "Text Object Example", там через QPainter (drawObject()) рисуется svg, а можно рисовать свою линию.
Хотелось бы вместо извращений, разобраться QTextLine все же.
Он ведь создан именно под эту задачу, если я правильно понимаю.
Неужели ни кто им не пользовался до меня в этих целях?
Автор: SABROG 10.3.2010, 21:54
Цитата(grio @ 10.3.2010, 21:04)
в этих целях?
Рисование чего бы то ни было вместо текста под который класс и предназначен?
Автор: grio 10.3.2010, 22:57
Цитата(SABROG)
Рисование чего бы то ни было вместо текста под который класс и предназначен?
Ну хорошо, а как тогда разработчики планировали отображать линии?
Каким средствами, к примеру, происходит отображение тэга
<hr>?
Дело в том, что пример с заливкой ячейки таблицы цветом вполне корректен c технической точки зрения,
если бы не грабли с минимальными отступами. Которые, почему то не убираются даже при такой постановке:
QTextTableFormat tableFormat;
tableFormat.setCellPadding(0);
tableFormat.setCellSpacing(0);
tableFormat.setMargin(0);
tableFormat.setLeftMargin(0);
tableFormat.setRightMargin(0);
tableFormat.setTopMargin(0);
tableFormat.setBottomMargin(0);
tableFormat.setBorder(0);