Qt QpushButton 實現長按下功能


做項目需要一個按鈕具備長時間按下的功能,才發現Qt原始的按鈕是沒有這個功能,不過Qt的原生按鈕是存在按下和釋放信號的,有了這兩個信號,再來實現按鈕長時間被按下,這就簡單了,看下動畫演示。

錄成GIF效果不咋明顯了。其實我實現按鈕長時間被按下就是增加的定時器,當按鈕被按下時,激活定時器,並每隔一段時間出發clicked事件,這樣就差不多實現了這個功能。

看下代碼

/*
 * +號按下
 */
void MainWindow::on_pushButton_4_pressed()
{
    if(!timer1)
    {
        timer1 = new QTimer();
        connect(timer1,&QTimer::timeout,this,&MainWindow::on_pushButton_4_clicked);
    }
    timer1->start(100);
}
/*
 * 加號釋放
 */
void MainWindow::on_pushButton_4_released()
{
    timer1->stop();
}

這里請大家忽略我的命名,這個程序簡單到功能只有一個,所有直接使用了Qt生成的名字。不過在正式的開發中,還是建議給每一個變量起一個有意義的明細,這樣你好我好大家好。

以上就是今天的內容。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM