Надо узнать длину строки в пикселях.
делаю следующее:
данный код работеат в рамках объекта унаследованного от QWidget:
C++ (Qt)
QSize sz = fontMetrics().size( Qt::TextSingleLine | Qt::TextExpandTabs,
tr("\t\t\t\t") ,
8 );
В результате он мне выдает sz.width() = 320, что характерно, изменение величины tabStops не приводит к какому - либо изменению конечного результата.
Почему то функция полностью игнорирует значение tabStops и всегда использует значение по умолчанию = 80 пикселам ?
В документации сказано следующее:
If Qt::TextExpandTabs is set in flags, then: if tabArray is non-null, it specifies a 0-terminated sequence of pixel-positions for tabs; otherwise if tabStops is non-zero, it is used as the tab spacing (in pixels).
Т.е. как я понял: если установлен флаг Qt::TextExpandTabs и значение tabArray = 0, и если значение tabStops отлично от 0, то оно используется в качестве размера для символа табуляции.
И пАчиму же оно не используется тогда ? это баг или фича такая ?