QListWidgetItem при нажатии кнопки выполнить действия - PullRequest
0 голосов
/ 29 мая 2019

У меня есть QListWidget с некоторыми элементами.Я сделал это, чтобы выбрать элемент из QListWidget:

connect(ui->mylist,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(onMyListItem(QListWidgetItem*)));

Теперь в функции onMyListItem я сделал это, чтобы проверить индекс элемента:

int index=ui->mylist->currentRow();
    qDebug()<<"index item: "<<index;

Как я могу выполнить некоторые действия, когдаЯ выбираю предмет и нажимаю кнопку showBtn?

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Я предполагаю, что добавляемая вами кнопка - QAction, тогда вам просто нужно подключить сигнал triggered() к созданному вами слоту, скажем makeAction():

connect(someAction, SIGNAL(triggered()), this, SLOT(makeAction());

Внутри этого слота, предполагая, что у него есть доступ к списку, вы можете получить текущий элемент в списке и сделать соответствующую вещь:

void makeAction()
{
    auto item = ui->mylist->currentItem();
    if (item)
    {
        // Do something
    }
}
0 голосов
/ 29 мая 2019

Если вы добавляете кнопку в свой QListWidget, создайте слот и подключите сигнал кнопки к слоту. нажав на кнопку, вы можете проверить, выбран ли какой-либо предмет, и делать то, что хотите

...