好吧,我刚已经搞定了! 直接上代码!我用的空间是QTextEdit,现在还有一个问题没解决,背景颜色无法透明。
TT_VScrollItem::TT_VScrollItem(QWidget *parent)
{
//初始化变量默认值
mTimer = 500;
step = 2;
vBar = verticalScrollBar();
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
if(parent)
{
setParent(parent);
}
//屏蔽横竖两坐标轴的滚动条
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setReadOnly(true); //设内容为只读
setAlignment(Qt::AlignLeft | Qt::AlignTop); //设置内容居左上角
// setAutoFillBackground(true);
// setAttribute(Qt::WA_TranslucentBackground, true);
QPalette pal = this->palette();
pal.setColor(QPalette::Window, Qt::red);
this->setPalette(pal);
setFrameShape(QFrame::NoFrame);
setFrameShadow(QFrame::Sunken);
startTimer(mTimer);
}
void TT_VScrollItem::timerEvent(QTimerEvent *e)
{
qDebug("=== TT_VScrollItem::timerEvent ===");
QTextEdit::timerEvent(e);
if(vBar->maximum() == 0)
{
killTimer(e->timerId());
}
if(vBar->value() >= vBar->maximum())
{
vBar->setValue(vBar->minimum());
}
else
{
vBar->setValue(vBar->value()+step);
}
}