c-检测是否在QlistWidget中的某行单击了某个项目

我已经完成了这项简单的任务,

我有此列表,每当单击“确定”时,我都会在其中插入项目,避免使用Form :: ok()处理该事件,以将新的列表项目添加到列表中.

现在无法执行的操作是检测是否在某行上单击了某个项目,然后根据该项目执行某些操作,这是我的代码.

#include "form1.h"
#include "form.h"
#include "ui_form.h"
#include "ui_form1.h"
#include<QScrollArea>
#include<QScrollBar>

//#include <QgeoPositioninfo.h>

Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    ui->setupUi(this);

}
Form::~Form()
{
    delete ui;
}

void Form::ok()
{
    QIcon  mypix  (":/karim/test.png");

    QListWidgetItem* newItem = new QListWidgetItem;
    newItem->setText("pixmix");
    newItem->setIcon(mypix);

    int row = ui->listWidget->row(ui->listWidget->currentItem());
    this->ui->listWidget->insertItem(row, newItem);

    //if(item at row x is clicked)
     {
     //do something
     }
}

请具体回答,我将不胜感激

解决方法:

如下所示:

connect(ui->listWidget, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(itemClickedSlot(QListWidgetItem *)));

void Form::itemClickedSlot (QListWidgetItem * itemClicked)
{
//Do something with clicked item
}
上一篇:php二分法查找


下一篇:QListWidget 的右键菜单