在我的 qt c++ 应用程序中,我根据 QStringList 的内容动态创建按钮(即按钮的数量等于 QStringlist 中的元素数量,按钮的文本是列表中的元素)。
以下是我的代码
#include "dialog.h"
#include "ui_dialog.h"
#include "QFrame"
#include "QLabel"
#include "QPushButton"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::createButtons(){
List<<"Run"<<"Stop"";
for(int i=0;i<List.size();i++){
f1 = new QFrame();
a= new QPushButton();
a->setText(List[i]);
ui->horizontalLayout->addWidget(a);
}
}
void Dialog::Run(){
qDebug() << "You clicked on the Run button";
}
void Dialog::Stop(){
qDebug() << "You clicked on the Stop button";
}
void Dialog::on_pushButton_clicked()
{
createButtons()
}
这里的“列表”是我使用的相应 QStringList!
当我在按钮单击中调用 createButtons() 方法时,如我的代码所示,按钮是动态创建的!
按钮显示 qstringlist 中元素的名称!每个元素都有一个方法名!因此,当我单击按钮时,应该执行类似于该方法名称的方法!
在这种情况下,创建了 2 个按钮,显示“运行”和“停止”。当我单击显示“运行”的按钮时,我想执行上面定义的 Run() 方法!
我怎样才能实现它?