2015-01-31 17 views
4

我试图找出如何在QT5实现这一点:连接QComboBox :: currentIndexChanged(int)以QSignalMapper ::地图()

connect(qcombobox, SIGNAL(currentIndexChanged(int), 
     qsignalmappe, SLOT(map())); 

我尝试这样做:

connect(comboBox, static_cast<void(QComboBox::*)(int) (&QComboBox::currentIndexChanged), 
     this->signalMapper, &QSignalMapper::map); 

但编译器抱怨没有匹配的参数。我知道QSignalMapper :: map()信号没有参数,但我不知道它如何处理旧的语法。

回答

3

试试这个,它为我工作

connect(comboBox,static_cast<void (QComboBox::*)(int index)>(&QComboBox::currentIndexChanged),signalMapper,static_cast<void (QSignalMapper::*)()>(&QSignalMapper::map));