在QTabWidget的选项卡栏中换行文本



我正在动态更改QTabWidget的文本,并更改其字体系列。因此tabBar标题中的文本超过了实际宽度。我如何控制文本像一样在tabBar宽度内换行

"文本.."

im使用样式表设置字体系列

QString menuBarStyle = QString("QTabBar::tab  {font-family: %1;font-style: %2;font-size: 11pt;font-weight: %3;width: 130px}").arg(m_currentFont.family()).arg(fontStyle).arg(fontWeight);
   TabWidget->setStyleSheet(menuBarStyle);

Qt样式表技术可能会也可能不会解决这个问题,但我曾经解决过类似的问题:

QString elidedText(const QFont& someFont, int width)
{
    QFontMetrics metrix( someFont );
    return metrix.elidedText(text, Qt::ElideRight, width);
}

因此,除了字体对象之外,你还必须有适合文本的宽度。此外,通过样式表频繁地对小部件进行更改很难成为最佳解决方案,因为要获得小的更改有点太多了。

相关内容

  • 没有找到相关文章

最新更新