我习惯了 Java 和 QT/C++ 的新手,我在创建一个 QLabel 时遇到了一些问题,当一个人选择 QListWidgetItem 时它会更改文本。
在我的 ui_GraphicsView.h 中,我有 setupUI() 来制作对象。我尝试将布局设为其父级。
label = new QLabel(verticalLayout);
label->setObjectName(QString::fromUtf8("label"));
verticalLayout->addWidget(label);
在我的 .cpp 文件中,我在构造函数中使用了 connect :
connect(list_widget, SIGNAL(itemSelectionChanged(), this, SLOT(updataDetails())));
updateDetails() 在我的 selectionChanged() 方法中执行,它传递一个字符串。
void GraphicsView::updateDetails(QString details){
label->setText(details);
}
这会导致以下错误:
error: no matching function for call to ‘QLabel::QLabel(QVBoxLayout*&)
note: candidates are: QLabel::QLabel(const QLabel&)
note: QLabel::QLabel(const QString&, QWidget*, Qt::WindowFlags)
note: QLabel::QLabel(QWidget*, Qt::WindowFlags)
在我进行上述调整之前,一切都很顺利。知道是什么导致了这个错误吗?