创建自定义QListWidgetItem

时间:2017-07-12 02:19:57

标签: c++ qt

我正在尝试创建一个自定义 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);
                                                  ^

0 个答案:

没有答案