Piszę skomplikowany edytor tekstu sformatowanego, wywodzący się z klasy QTextEdit
. Musi być w stanie wstawić, zmienić rozmiar i zastosować różne formatowanie do osadzonych tabel.Jak zmienić wysokość wiersza w QTextTable
Znalazłem funkcję konfiguracji szerokości kolumn (setColumnWidthConstraints). Ale nie ma nikogo do change _rows_ heights
.
Czy jest jakiś sposób, aby to osiągnąć?
Przykładowy kod:
void CustomTextEdit::insertTable (int rows_cnt, int columns_cnt)
{
QTextCursor cursor = textCursor();
QTextTableFormat table_format;
table_format.setCellPadding (5);
// TODO: This call just changed the frame border height, not table itself.
//table_format.setHeight (50);
// Setup columns widths - all is working perfectly.
QVector <QTextLength> col_widths;
for (int i = 0; i < columns_cnt; ++i)
col_widths << QTextLength (QTextLength::PercentageLength, 100.0/columns_cnt);
table_format.setColumnWidthConstraints (col_widths);
// ...But there is no similar function as setRowHeighConstraints for rows!
// Insert our table with specified format settings
cursor.insertTable (rows_cnt, columns_cnt, table_format);
}
można użyć QTextFrameFormat :: setHeight (qreal height) –
@Cool_Coder To właśnie zmieniło wysokość _all_ ramki (tj., gdzie zostanie pokazana granica). Ale muszę określić wysokość dla każdego oddzielnego wiersza tabeli. – eraxillan
może proszę o podanie kodu, aby móc to skomentować? –