在 QTabWidget 的 tabBar 中包装文本
wrap text in the tabBar of QTabWidget
我正在动态更改 QTabWidget 的文本并更改其字体系列。所以 tabBar header 中的文本超出了实际宽度。我如何控制文本包裹在 tabBar 宽度内,如
"Text.."
我正在使用样式表设置字体系列
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);
}
因此,除了字体对象之外,您还必须具有适合文本的宽度。此外,通过小部件的样式表频繁应用更改几乎不是最佳解决方案,它做得太小了变化。
我正在动态更改 QTabWidget 的文本并更改其字体系列。所以 tabBar header 中的文本超出了实际宽度。我如何控制文本包裹在 tabBar 宽度内,如
"Text.."
我正在使用样式表设置字体系列
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);
}
因此,除了字体对象之外,您还必须具有适合文本的宽度。此外,通过小部件的样式表频繁应用更改几乎不是最佳解决方案,它做得太小了变化。