没有从'const QString'到'QTreeWidgetItem'的功能样式转换的匹配转换

问题描述

我正在使用QTreeWidgetItemQTreeWidgetItem构建一个小型应用程序,以练习它们以及练习如何最好地使用它们。这是一个小型应用程序,我正在其中尝试使用辅助功能将图标分配给QTreeWidget。 现在由于某些原因,我得到以下错误

no matching conversion for functional-style cast from 'const QString' to 'QTreeWidgetItem'代码下方:

mainwindow.h

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    QTreeWidgetItem *createItem(const QString &name,const QString &iconPath);

    QString name() const {
        return m_Name;
    }

    QString iconPath() const {
        return m_Path;
    }

    void setName(const QString &name)
    {
        m_Name = name;
    }

    void setPath(const QString &path)
    {
        m_Path = path;
    }

private:
    Ui::MainWindow *ui;
    QString m_Name;
    QString m_Path;
};

mainwindow.cpp

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent),ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    auto *top1 = createItem("Images","/path/to/icon.png");
    auto *top2 = createItem("Path","/path/to/icon.png");
    top1->addChild(createItem("Original","/path/to/icon.png"));
    top1->addChild(createItem("Sample","/path/to/icon.png"));
    
    top2->addChild(createItem("Left Side","/path/to/icon.png"));
    top2->addChild(createItem("Right Side","/path/to/icon.png"));

    ui->treeWidget->addTopLevelItems({ top1,top2 });
}

MainWindow::~MainWindow()
{
    delete ui;
}


QTreeWidgetItem *MainWindow::createItem(const QString &name,const QString &iconPath)
{
    auto *item = QTreeWidgetItem(name);  // <-- Error Here
    item.setIcon(0,QIcon(iconPath));
    return item;
}

在这一个编译器错误,似乎构造函数缺少QTreeWidgetItem,因此使我无法使用我创建的帮助函数来帮助我定义小图标的名称和路径。 我研究了这个问题,发现了this source,还读了additional source

感谢您帮助我阐明这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...