在Qt/C++中,我有一系列的按钮,我希望通过单个事件处理程序来运行它们,并知道点击了哪个按钮。在Qt/C++中,有没有办法将按钮点击事件列表连接到一个插槽?
有没有办法将按钮点击事件列表连接到一个插槽?如,我创建了一个QList<QPushButton *>
,然后使用单个connect()
语句处理此列表的&QPushButton::clicked
信号,并将其映射到一个单独的SLOT(onButtonClicked(QWidget *))
。
关键字那里 - 单。当然,我可以迭代一个列表,但我想知道是否有一种方法只有一个connect()
语句不在列表迭代中。
换句话说,我想知道是否已有一种有效的方法来做到这一点,但我可能没有意识到,而不是迭代QPushButton
的QList
。这只是一个高效和整洁的问题。
你有一个例子[这里](http://stackoverflow.com/questions/18963904/is-there-a-tidier-way-to-connect-many-qt -widgets-的-不同类型到所述-相同)。 – Tarod
@塔罗德不完全。我正在寻找一种更迭的方式,而不是在迭代中。就像以某种方式将整个按钮列表传递给connect()调用而没有迭代。 – Volomike
我不认为有这样的方式。您将始终必须通过信号映射器或直接在插槽上建立每个按钮的单独连接。 – vahancho