【发布时间】:2015-09-24 19:46:49
【问题描述】:
所以我有一个类 SnapshotPanel : public QListWidget,我试图动态添加一个 QListWidgetItem,但是当我尝试时,我会遇到段错误。我已验证我添加项目的代码是正确的,因为我可以在构建 SnapshotPanel 时将其添加到列表中。但是,当通过信号和插槽调用代码时,我无法将其添加到面板中,我将不胜感激了解我所缺少的内容。
这里是构造函数:
SnapshotPanel::SnapshotPanel(QWidget *parent):QListWidget(parent)
{
this->setViewMode(QListWidget::IconMode);
this->setIconSize(QSize(256,256));
this->setResizeMode(QListWidget::Adjust);
QIcon icon("icon.jpeg");
QListWidgetItem *widget = new QListWidgetItem(icon,"Earth");
this->addItem(widget);
}
那么,当通过信号和插槽调用时,我无法使用以下代码是否有任何原因:
{
QIcon icon("icon.jpeg");
QListWidgetItem *widget = new QListWidgetItem(icon,"Earth");
this->addItem(widget);
}
【问题讨论】:
-
是否涉及多个线程?你为什么要从
QListWidget继承?SnapshotPanel代码的其余部分在哪里?这是 Qt 4 还是 Qt 5? -
你使用什么信号?你在哪里将它连接到插槽?
-
在发布有关代码问题的问题时,请发布重现问题的完整示例,或者至少发布本身存在问题的代码。您所展示的一切都是正确的 - 如果您只是将问题中的代码复制粘贴到一个新项目中并自己尝试一下,您自己就会知道。
标签: c++ qt qlistwidget qt-signals qlistwidgetitem