QT 之信槽函式被觸發兩次

2021-08-28 20:46:23 字數 467 閱讀 3941

2023年11月02日 20:28:17 不二儂 閱讀數:950 標籤: qt 更多

個人分類: qt

如果用官方的寫法on_btn_pressed()可以不用寫connect函式,可以直接觸發槽函式。如果此時用connect再次連線的話,就會導致on_btn_pressed()被執行兩次。解決辦法為:

可能有問題的**,會被執行兩次 

connect(ui->btn,signal(pressed()),this,slot(on_btn_pressed()));

要麼改為:connect(ui->btn,signal(pressed()),this,slot(on_btn_pressed()),qt::uniqueconnection);

要麼改為:connect(ui->btn,signal(pressed()),this,slot(btn_pressed()));

通過修改名字避免qt翻譯器翻譯成兩次執行.

Qt傳送一次訊號觸發兩次槽函式的原因

在手動為控制項編寫槽函式的時候,如果將槽函式名字按如下格式編輯,則不需要再次進行手動關聯 void on pushbutton 1 clicked void on radiobutton clicked void on pushbutton 2 clicked 即 1,以on 開頭 2,加上元件名稱...

Qt 在傳送一次訊號觸發兩次槽函式的解決方法

connect enterpushbutton,signal clicked this,slot on createproject clicked 備註 1.enterpushbutton 是確定按鈕 2.一定要寫signal clicked 此處是訊號 3.slot on createprojec...

QT5中訊號槽之槽函式的使用

最近在學qt5,基於vs2010的開發環境!按照教程做的時候,在編寫自定義槽函式時,總是得不到正確的響應!苦思不得其解。後面查閱資料發現,在自定義函式在標頭檔案中的宣告時,不能夠把它當作普通函式,而要以槽函式的形式進行宣告。在登入框類中,原本的 如下 class logindialog public...