2015-10-02 76 views
1

在Qt/C++中,我有一系列的按鈕,我希望通過單個事件處理程序來運行它們,並知道點擊了哪個按鈕。在Qt/C++中,有沒有辦法將按鈕點擊事件列表連接到一個插槽?

有沒有辦法將按鈕點擊事件列表連接到一個插槽?如,我創建了一個QList<QPushButton *>,然後使用單個connect()語句處理此列表的&QPushButton::clicked信號,並將其映射到一個單獨的SLOT(onButtonClicked(QWidget *))

關鍵字那裏 - 單。當然,我可以迭代一個列表,但我想知道是否有一種方法只有一個connect()語句不在列表迭代中。

換句話說,我想知道是否已有一種有效的方法來做到這一點,但我可能沒有意識到,而不是迭代QPushButtonQList。這只是一個高效和整潔的問題。

+0

你有一個例子[這裏](http://stackoverflow.com/questions/18963904/is-there-a-tidier-way-to-connect-many-qt -widgets-的-不同類型到所述-相同)。 – Tarod

+0

@塔羅德不完全。我正在尋找一種更迭的方式,而不是在迭代中。就像以某種方式將整個按鈕列表傳遞給connect()調用而沒有迭代。 – Volomike

+0

我不認爲有這樣的方式。您將始終必須通過信號映射器或直接在插槽上建立每個按鈕的單獨連接。 – vahancho

回答

相關問題