Qt簡單的按鈕槽函式傳遞引數方法
阿新 • • 發佈:2020-12-29
Qt簡單的按鈕槽函式傳遞引數方法
Qt中一個典型的點選按鈕觸發槽函式的寫法是:
connect(btn, &QPushButton::clicked, this, &class::func);
當你希望在點選按鈕後再向槽函式中傳遞引數,這種寫法就無法做到了。其原因是槽函式要和訊號的引數完全對應,如果修改了傳給槽函式的引數,點選按鈕的訊號就無法處理。
這裡給出一個比較簡單的傳參方法,在訊號槽中使用lambda表示式,如:
connect(btn, &QPushButton::clicked, this, [=](){func(i);} );
根據引數的數量對應修改func(i)裡面的內容,這裡只能傳單個引數。