Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 制作窗口&x27;每个按钮的文本都是唯一的_C++_Qt_Qt Signals - Fatal编程技术网

C++ 制作窗口&x27;每个按钮的文本都是唯一的

C++ 制作窗口&x27;每个按钮的文本都是唯一的,c++,qt,qt-signals,C++,Qt,Qt Signals,如何使一个表单对不同的按钮具有唯一性? 例如: QVector<QString> text { "Iter FIRST", "Iter SECOND" }; for(size_t i = 0; i < 2; ++i) { Form2 * form2 = new Form2(); //creating form connect(this, &MainWindow::SendCurretIteration, fitr, &a

如何使一个表单对不同的按钮具有唯一性? 例如:

QVector<QString> text { "Iter FIRST", "Iter SECOND" };
for(size_t i = 0; i < 2; ++i)
{
     Form2 * form2 = new Form2(); //creating form
     connect(this, &MainWindow::SendCurretIteration, fitr, 
              &CurrentIterationForm::ShowCurrentIteration);//connect to the second form`

      emit MainWindow::SendCurretIteration(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窗口::SendCurrentIteration,fitr,
&CurrentIterationForm::ShowCurrentIteration);//连接到第二个表单`
发射主窗口::SendCurreteration(文本[i]);
QPushButton*btnShowForm=新的QPushButton(本);
btnShowForm->setGeometry(i+40,i+100,50,50);
连接(btnShowForm,&QPushButton::单击,此,[=]()
{
form2->show();
});
}//结束()
点击每个按钮我看到了什么? ->点击按钮1,国际热核实验堆第二次。 ->点击按钮2,国际热核聚变实验堆第二台


如何修复?

我错过了这里的“form2”:connect(此,&MainWindow::SendCurrentIteration,form2,&CurrentIterationForm::ShowCurrentIteration)//连接到第二个表单`如果两个按钮都需要一个表单,则需要将
Form2*Form2=new Form2()
for
循环中取出。不,我想通过单击按钮1查看“Iter FIRST”,通过单击按钮2查看“Iter second”。什么是
Form2
?您的设计非常不清楚,插槽
CurrentIterationForm::ShowCurrentIteration
在做什么?哪些小部件和布局包含
Form2
?您是如何尝试在GUI中首先显示文本Iter的?