谢谢 Qt Creator 代码过于庞大。这个Tab 能闪动在 Linux 平台,当Windows 和 MacOS 就看不到闪动效果,或许
是不同Render 方法
void BlinkTabBar::paintEvent(QPaintEvent *event)
{
if (blinkIndex > -1 && blinkIndex < count())
{
QStylePainter painter(this);
QStyleOptionTab option;
option.initFrom(this);
for (int i = 0; i < count(); i++)
{
initStyleOption(&option, i);
if ( blinkIndex == i)
{
option.palette.setColor(QPalette::Button, blinkColor);
//std::cout<< "setColor\n";
qDebug() << "setColor...";
}
painter.drawControl(QStyle::CE_TabBarTabShape, option);
painter.drawControl(QStyle::CE_TabBarTabLabel, option);
}
}
else
{
QTabBar::paintEvent(event);
}
}
【 在 cavendish 的大作中提到: 】
: qt creator也是开源的呀...
:
https://github.com/qt-creator/qt-creator:
--
FROM 45.51.104.*