“使用问题”;连接();在qt4中的迭代中,使用clicked()信号并使用来自相应插槽中迭代的信息 这是我用C++编程,用QT4设计我的接口。

“使用问题”;连接();在qt4中的迭代中,使用clicked()信号并使用来自相应插槽中迭代的信息 这是我用C++编程,用QT4设计我的接口。,qt4,iterator,signals-slots,click,Qt4,Iterator,Signals Slots,Click,在这个程序中,我创建了一个小部件,它根据用户输入生成(未知)数量的QPushButtons按钮,因此我动态地创建它们。在创建时,我想将这些按钮连接到一个函数,该函数需要在创建按钮的迭代过程中存在的参数(例如,一个int表示向量中的位置),但由于信号/插槽的性质以及来自QPushButtons的clicked()信号的性质,我无法这样做(它不接受参数) 代码看起来有点像这样: vector<int> myVector for(int i=0; i<user_input_numb

在这个程序中,我创建了一个小部件,它根据用户输入生成(未知)数量的QPushButtons按钮,因此我动态地创建它们。在创建时,我想将这些按钮连接到一个函数,该函数需要在创建按钮的迭代过程中存在的参数(例如,一个int表示向量中的位置),但由于信号/插槽的性质以及来自QPushButtons的clicked()信号的性质,我无法这样做(它不接受参数)

代码看起来有点像这样:

vector<int> myVector

for(int i=0; i<user_input_number; i++){

    ...
    QPushButton *testingb4 = new QPushButton("Execute", this);
    connect( testingb4, SIGNAL( clicked() ), this, SLOT( customSlot() ) );
    ...

}
向量myVector
对于(int i=0;i您似乎正在寻找。这可能有助于您识别单击信号的来源。

是的,这正是我所寻找的,因为它允许我将“参数”映射到单击()中在不违反所需语法的情况下发送信号。我应该更彻底地阅读Qt4文档,因为我对Qt4还是有点陌生。非常感谢@OrcunC