Qt QpushButton 實現長按下功能
阿新 • • 發佈:2018-06-09
有意義 AR div 分享圖片 spa 激活 time 定時 演示
最近做項目需要一個按鈕具備長時間按下的功能,才發現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生成的名字。不過在正式的開發中,還是建議給每一個變量起一個有意義的明細,這樣你好我好大家好。
以上就是今天的內容。
Qt QpushButton 實現長按下功能