При работе в qt с QTextEdit столкнулась с проблемой вывода данных в ровные столбцы. Непонятно, как делать форматирование строк.
Пока код в таком виде:
while (query.next())
{
QString id = query.value(0).toString();
QString surname = query.value(1).toString();
QString name = query.value(2).toString();
QString name2 = query.value(3).toString();
QString id_costume = query.value(4).toString();
QString size = query.value(5).toString();
ui->textEdit->insertPlainText(id+ " " +surname+" "+name+" "+name2+" "+id_costume+ " "+size+"\n");
}
Выводит в следующем виде:
№ Фамилия: Имя: Отчество: костюм: размер:
1 Петров Иван Иванович 123 1
4 Иванов Петр Васильевич 1234 2
А желательно в следующем:
№ Фамилия: Имя: Отчество: костюм: размер:
1 Петров Иван Иванович 123 1
4 Иванов Петр Васильевич 1234 2
Для решения подобной задачи можно использовать символ табуляции \t, но его использование порождает много проблем.
Примерами таких проблем могут быть:
Проблемы с отображением при значениях столбцов разной длины тоже не будут неожиданностью (таб во второй строке не влезает, соответственно вся строка сдвигается):
№ Имя Фамилия Возраст
1 Ян Петров 21
2 Александр Васильев 24
3 Виктор Иванов 22
В QTextEdit есть возможность вставлять HTML (например при помощи метода insertHtml), так что, можно копнуть и в эту сторону (вставить HTML-таблицу). Но, имхо, это больше похоже на шаманство.
Итог: использование QTextEdit для табличного отображения данных чревато множеством подводных камней и граблей, поэтому есть смысл рассмотреть более подходящие варианты (в простейшем случае это может быть QTableWidget).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости