用于多个按钮的插槽

时间:2013-03-01 08:01:44

标签: c++ qt qt4

我的应用程序中有两个浏览按钮。 我需要为两个按钮执行函数browseButtonClickHandler()。 但问题是,如何识别单击哪个按钮? 我需要将浏览过的文件夹粘贴到文本字段中。 通过ui编辑器创建信号和插槽。 我已为两者分配了功能,也为其工作。 但唯一的困难是识别按钮。 请帮帮我。

3 个答案:

答案 0 :(得分:3)

使用QObject * QObject::sender ()了解信号源自何处。

您还可以查看QSignalMapper。在文档中,他们提到了与您的问题相同的示例

http://doc.qt.digia.com/4.6/qsignalmapper.html#details

答案 1 :(得分:2)

使用QButtonGroup。也许这个链接可以提供帮助 http://doc.qt.io/qt-4.8/qbuttongroup.html#id

答案 2 :(得分:0)

我建议创建一个button类的子类,它有一个索引字段和一个给出这个索引值的虚函数。 我假设在browseButtonClickHandler()中你得到一个指向该按钮的指针,所以将它转换为你的按钮子类并获得索引值。