1. 程式人生 > 其它 >Qt簡單的按鈕槽函式傳遞引數方法

Qt簡單的按鈕槽函式傳遞引數方法

技術標籤:Qtqt

Qt簡單的按鈕槽函式傳遞引數方法

Qt中一個典型的點選按鈕觸發槽函式的寫法是:

connect(btn, &QPushButton::clicked, this, &class::func);

當你希望在點選按鈕後再向槽函式中傳遞引數,這種寫法就無法做到了。其原因是槽函式要和訊號的引數完全對應,如果修改了傳給槽函式的引數,點選按鈕的訊號就無法處理。

這裡給出一個比較簡單的傳參方法,在訊號槽中使用lambda表示式,如:

connect(btn, &QPushButton::clicked, this, [=](){func(i);}
);

根據引數的數量對應修改func(i)裡面的內容,這裡只能傳單個引數。