C++ 使每个按钮的QT设计器窗体不同
我有两个按钮和一个用户表单界面:Form2。 我想看到不同的文本创建form2。让我们看一个例子C++ 使每个按钮的QT设计器窗体不同,c++,winforms,qt,user-interface,C++,Winforms,Qt,User Interface,我有两个按钮和一个用户表单界面:Form2。 我想看到不同的文本创建form2。让我们看一个例子 QVector<QString> text { "Iter FIRST", "Iter SECOND" }; for(size_t i = 0; i < 2; ++i) { Form2 * form2 = new Form2(); //creating form connect(this, &MainWindow::SendCurretText, for
QVector<QString> text { "Iter FIRST", "Iter SECOND" };
for(size_t i = 0; i < 2; ++i)
{
Form2 * form2 = new Form2(); //creating form
connect(this, &MainWindow::SendCurretText, form2,
&Form2::ShowText);//connect to the second form`(textEdit)
emit MainWindow::SendCurretText(text[i]);
QPushButton *btnShowForm = new QPushButton(this);
btnShowForm->setGeometry(i + 40, i + 100, 50, 50);
connect(btnShowForm, &QPushButton::clicked, this, [=]()
{
form2->show();
});
}//end for()
QVector文本{“Iter第一”、“Iter第二”};
对于(尺寸i=0;i<2;++i)
{
Form2*Form2=新Form2();//创建表单
连接(此,&main窗口::SendCurretText,form2,
&Form2::ShowText);//连接到第二个表单`(textEdit)
发射主窗口::SendCurretText(文本[i]);
QPushButton*btnShowForm=新的QPushButton(本);
btnShowForm->setGeometry(i+40,i+100,50,50);
连接(btnShowForm,&QPushButton::单击,此,[=]()
{
form2->show();
});
}//结束()
结果:点击按钮1,我看到“Iter秒”
点击按钮2,我看到“Iter秒”
预期结果:
点击按钮1,我看到“Iter优先”
点击按钮2,我看到“Iter秒”
+++i不是i++。试试这个:
QStringList text; text << "Iter FIRST" << "Iter SECOND";
for(qint32 i = 0; i < 2; i++)
{
Form2 * form2 = new Form2(); //creating form
connect(this, &MainWindow::SendCurretText, form2,
&Form2::ShowText);//connect to the second form`(textEdit)
emit MainWindow::SendCurretText(text.at(i));
QPushButton *btnShowForm = new QPushButton(this);
btnShowForm->setGeometry(i + 40, i + 100, 50, 50);
connect(btnShowForm, &QPushButton::clicked, this, [=](){ form2->show(); } );
}//end for()
QStringList文本;文本显示();});
}//结束()
这个问题与您的问题不一样吗?请发布原始代码!是的,你还没有回答