我根据 new 在 Qt5 中使用了以下语法连接语法避免插槽和信号的类型不匹配QListWidget
与可检查的项目。
connect(item, &QListWidget::itemChanged,this , &mainWindow::checkItemChanged);
我想运行我的插槽,以防任何列表项更改其状态。为此我使用了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
(或所有版本的“基于旧字符串”)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)