c++ QListWidget:项目点击事件

hmtdttj4  于 10个月前  发布在  其他
关注(0)|答案(2)|浏览(158)

基本上,我有以下内容:
一个QListWidget,其中有一些项目如下所示:
ListMail是我的QListWidget。在这个QListWidget中,我有这样的元素:“邮件1”,“邮件2”,.
我没有任何想法,我怎么能使一个信号(例如)“邮件1”绑定到一个插槽(onClick)或类似的东西。
我已经试过像connect(ui->listMail->selectedItems(0), SIGNAL(triggered()), this, SLOT(openMessage())这样的东西,但它根本不工作。
有什么需要帮忙的吗?
谢谢你,谢谢你

ut6juiuv

ut6juiuv1#

您必须绑定到itemClicked信号。信号将为您提供一个QListWidgetItem*,这是单击的项目。然后您可以检查它并检查它是否是第一个:

MyClass::MyClass(QWidget* parent)
    : QWidget(parent)
{
    connect(ui->listMail, SIGNAL(itemClicked(QListWidgetItem*)), 
            this, SLOT(onListMailItemClicked(QListWidgetItem*)));
}

void MyClass::onListMailItemClicked(QListWidgetItem* item)
{
    if (ui->listMail->item(0) == item) {
        // This is the first item.
    }
}

字符串

eoigrqb6

eoigrqb62#

QListWidget有一个信号QListWidget::itemPressed(QListWidgetItem *item),它会告诉你哪个项目被点击了。你可以把这个信号连接到你自己的插槽。还有其他相关的信号。参见documentation

相关问题