我正在尝试创建一个自定义 QListWidgetItem ,我可以将其插入到 QListWidget 中。我希望它包含标签和按钮。我试过查找很多例子,下面的代码是我提出的:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <string>
#include <QtCore>
#include <QtWidgets>
class myNewWidget : public QListWidgetItem{
public:
QLabel *aLabel = new QLabel("hello");
QPushButton *aButton = new QPushButton("Press");
};
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
myNewWidget *newWidget = new myNewWidget();
QListWidgetItem *item = new QListWidgetItem();
ui->dayRoutine->addItem(item);
ui->dayRoutine->setItemWidget(item, newWidget);
}
MainWindow::~MainWindow()
{
delete ui;
}
然而,我不能让它发挥作用。在代码中,我尝试通过创建一个继承它的类来创建自定义 QListWidgetItem 。 ui->dayRoutine
指的是我在我的ui中的dayRoutine QListWidget 。我通过UI设计器添加它,因此没有实例化代码。我得到的错误是:
error: no matching function for call to 'QListWidget::setItemWidget(QListWidgetItem*&, myNewWidget*&)'
ui->dayRoutine->setItemWidget(item, newWidget);
^