繁体   English   中英

C++ Qt 单击或选择 QListWidget 中的 QListWidgetItem 时执行某些操作

[英]C++ Qt Do something when an QListWidgetItem from a QListWidget is clicked or selected

QListWidgetItem* lwi = new QListWidgetItem(text.c_str());
lw->addItem(lwi);
QObject::connect(lwi, &QListWidgetItem::isSelected, &lwi, []() {
    exit(0);
});

我想做这样的事情,如果选择或单击 QListWidget 中的项目,程序将退出。 但这不是正确的语法,我不知道如何使它正确。 有什么帮助吗?

QListWidgetItem::isSelected不是 Qt 信号。

您的QListWidgetItem很可能会嵌入到QListWidget中。 QListWidget提供了几个可能适合您需要的信号 例如:

QListWidgetItem* lwi = new QListWidgetItem(text.c_str());
lw->addItem(lwi);

// Assuming lw is a QListWidget*
QObject::connect(lw, &QListWidget::currentItemChanged,
    [lwi](QListWidgetItem* current, QListWidgetItem* /*previous*/)
    {
        if (current == lwi) std::exit(0);
    });

另请注意,在将信号连接到 lambda (或一般的仿函数)时,您不需要传递接收者地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM