QT怎么实现类似qq聊天窗口的抖动功能

2024-11-29 08:53:49
推荐回答(1个)
回答1:

// 设置一个高频定时器,移动当前窗口位置,然后又移动回来,来回交替就可以了!~


QTimer *timer = new QTimer(this);
timer->start(10);

connect(timer, SIGNAL(timeout()), this, SLOT(sltTimeout()));

void MainWindow::sltTimeout() {
    static int nX = this->rect().x();
    static int nY = this->rect().y();
    if (nX == this->rect().x())
        this->move(nX-10, nY -10);
    else 
        this->move(nX, nY);
}