gpt4 book ai didi

c++ - Qt:将 protected QListWidget::itemChanged 信号连接到插槽

转载 作者:搜寻专家 更新时间:2023-10-31 02:07:58 26 4
gpt4 key购买 nike

我根据新的 connect syntax 在 Qt5 中使用了以下语法避免带有可检查项目的 QListWidget 的插槽和信号类型不匹配。

connect(item, &QListWidget::itemChanged,this , &mainWindow::checkItemChanged);

我想运行我的插槽,以防任何列表项更改其状态。为此,由于 this answer,我使用了 itemChanged 信号, 但它受到保护并且编译时错误如下所示:

error: ‘void QListWidget::itemChanged(QListWidgetItem*)’ is protected

我该如何处理?我应该子类化我自己的 QListWidget 还是有一些其他的解决方案?

最佳答案

您可以根据Qt版本使用更合适的语法:

#if QT_VERSION >= 0x050000
connect(item, &QListWidget::itemChanged, this , &MainWindow::checkItemChanged);
#else
connect(item, SIGNAL(checkItemChanged), this , SLOT(checkItemChanged));
#endif

(或所有版本的“基于旧字符串”)。

关于c++ - Qt:将 protected QListWidget::itemChanged 信号连接到插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48059796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com