隐藏的重载虚拟功能OSX QT4

时间:2017-05-02 10:23:28

标签: c++ macos qt

编译时,我的Mac上的QT4有问题

  

playlistWidget.cpp中包含的文件:16:   ./playlistWidget.h:121:16:警告:' NPlaylistWidget :: mimeData'皮   超载         虚函数[-Woverloaded-virtual]       QMimeData * mimeData(const QList items)const;                  ^ / opt / local / libexec / qt4 / Library / Frame / QtGui.framework / Version / 4 / Headers / qlistwidget.h:280:24:   注意:         隐藏的重载虚函数' QListWidget :: mimeData'在这里宣布:         第一个参数的类型不匹配(' const QList' vs         ' const QList')       virtual QMimeData * mimeData(const QList items)const;                          ^

我的代码:

private:
        QPointer<QDrag> m_itemDrag;
        bool m_fileDrop;
        QList<QUrl> m_mimeDataUrls;
        QStringList mimeTypes() const;
        QMimeData *mimeData(const QList<NPlaylistWidgetItem *> items) const;
        bool dropMimeData(int index, const QMimeData *data, Qt::DropAction action);
    #ifdef Q_WS_MAC
        Qt::DropActions supportedDropActions() const;
    #endif
    protected:
        void dropEvent(QDropEvent *event);
        void dragEnterEvent(QDragEnterEvent *event);
        void dragMoveEvent(QDragMoveEvent *event);
        void dragLeaveEvent(QDragLeaveEvent *event);
        void mouseMoveEvent(QMouseEvent *event);

我该如何解决?

1 个答案:

答案 0 :(得分:0)

功能签名是:     QMimeData *mimeData(const QList<QListWidgetItem *> items) const

你的QList由NPlaylistWidgetItem *参数化,签名为:
QMimeData *mimeData(const QList<NPlaylistWidgetItem *> items) const

将参数更改为QListWidgetItem *,应该没问题。 通常建议至少使用-Wall -Wextra -Werror

进行编译