找回密码
 立即注册
收起左侧

在使用qt toolkit 里面的qscrollview.h时出现error C2470: “QScrollV...

1
回复
4976
查看
[复制链接]

尚未签到

来源: 2014-3-18 23:14:26 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
qscrollview.h   下载的一个qt 的toolkit包里面包含的东西。
          但是我加载到自己的项目里面的时候,编译无法通过,显示error C2470: “QScrollView”: 看起来像函数定义,但没有参数列表;跳过明显的函数体;
              查了好多地方都得不到解决,想求教一下
1、qscrollview.h  这个头文件该怎么使用?需要对应的lib文件吗?
2、为什么这种自带的,qt官方的东西都会出现编译错误呢?该错误应该如何解决?

我使用的环境是vs2010,+qt5.1.1,程序包里还用到了opencv2.3

求大神指导,我没有使用qmake,也没用用qt creator,这是老师发来的程序包要求我在自己的电脑下调试成功,并且这个包里还有其他的工程,所以这个搞不定就不能进行下一步的任务,多谢多谢。

回复

使用道具 举报

尚未签到

2014-3-18 23:15:31 显示全部楼层
代码特别长,我还是贴出来一下。
#ifndef QSCROLLVIEW_H
#define QSCROLLVIEW_H

#ifndef QT_H
#include "qframe.h"
#include "qscrollbar.h"
#include<QtCore>
#endif // QT_H

#ifndef QT_NO_SCROLLVIEW

struct QScrollViewData;

class Q_EXPORT QScrollView : public QFrame
{
    Q_OBJECT
    Q_ENUMS( ResizePolicy ScrollBarMode )
    Q_PROPERTY( ResizePolicy resizePolicy READ resizePolicy WRITE setResizePolicy )
    Q_PROPERTY( ScrollBarMode vScrollBarMode READ vScrollBarMode WRITE setVScrollBarMode )
    Q_PROPERTY( ScrollBarMode hScrollBarMode READ hScrollBarMode WRITE setHScrollBarMode )
    Q_PROPERTY( int visibleWidth READ visibleWidth )
    Q_PROPERTY( int visibleHeight READ visibleHeight )
    Q_PROPERTY( int contentsWidth READ contentsWidth )
    Q_PROPERTY( int contentsHeight READ contentsHeight )
    Q_PROPERTY( int contentsX READ contentsX )
    Q_PROPERTY( int contentsY READ contentsY )
#ifndef QT_NO_DRAGANDDROP
    Q_PROPERTY( bool dragAutoScroll READ dragAutoScroll WRITE setDragAutoScroll )
#endif

public:
    QScrollView(QWidget *parent=0, const char *name=0, WFlags f=0);
    ~QScrollView();

    enum ResizePolicy { Default, Manual, AutoOne, AutoOneFit  };
    virtual void setResizePolicy( ResizePolicy );
    ResizePolicy resizePolicy() const;

    void styleChange(QStyle&);
    void removeChild(QWidget* child);
    virtual void addChild( QWidget* child, int x=0, int y=0 );
    virtual void moveChild( QWidget* child, int x, int y );
    int childX(QWidget* child);
    int childY(QWidget* child);
    bool childIsVisible(QWidget* child);
    void showChild(QWidget* child, bool yes=TRUE);

    enum ScrollBarMode { Auto, AlwaysOff, AlwaysOn };

    ScrollBarMode vScrollBarMode() const;
    virtual void  setVScrollBarMode( ScrollBarMode );

    ScrollBarMode hScrollBarMode() const;
    virtual void  setHScrollBarMode( ScrollBarMode );

    QWidget*     cornerWidget() const;
    virtual void setCornerWidget(QWidget*);

    QScrollBar*  horizontalScrollBar() const;
    QScrollBar*  verticalScrollBar() const;
    QWidget*     viewport() const;
    QWidget*     clipper() const;

    int         visibleWidth() const;
    int         visibleHeight() const;

    int         contentsWidth() const;
    int         contentsHeight() const;
    int         contentsX() const;
    int         contentsY() const;

    void        resize( int w, int h );
    void        resize( const QSize& );
    void        show();

    void        updateContents( int x, int y, int w, int h );
    void        updateContents( const QRect& r );
    void        repaintContents( int x, int y, int w, int h, bool erase=TRUE );
    void        repaintContents( const QRect& r, bool erase=TRUE );
//### make this const in 3.0
    void        contentsToViewport(int x, int y, int& vx, int& vy);
//### make this const in 3.0
    void        viewportToContents(int vx, int vy, int& x, int& y);
    QPoint      contentsToViewport(const QPoint&);
    QPoint      viewportToContents(const QPoint&);
    void        enableClipper(bool y);

    void     setStaticBackground(bool y);
    bool     hasStaticBackground() const;

    QSize       viewportSize( int, int ) const;
    QSizePolicy sizePolicy() const;
    QSize       sizeHint() const;
    QSize       minimumSizeHint() const;

    void        removeChild(QObject* child);

#ifndef QT_NO_DRAGANDDROP
    void        setDragAutoScroll( bool b ); // #### virtual in 3.0
    bool        dragAutoScroll() const;
#endif

signals:
    void        contentsMoving(int x, int y);

public slots:
    virtual void resizeContents( int w, int h );
    void        scrollBy( int dx, int dy );
    virtual void        setContentsPos( int x, int y );
    void        ensureVisible(int x, int y);
    void        ensureVisible(int x, int y, int xmargin, int ymargin);
    void        center(int x, int y);
    void        center(int x, int y, float xmargin, float ymargin);

    void        updateScrollBars();
    void        setEnabled( bool enable );

protected:
    void        resizeEvent(QResizeEvent*);
    void        wheelEvent( QWheelEvent * );
    bool        eventFilter( QObject *, QEvent *e );

    virtual void contentsMousePressEvent( QMouseEvent* );
    virtual void contentsMouseReleaseEvent( QMouseEvent* );
    virtual void contentsMouseDoubleClickEvent( QMouseEvent* );
    virtual void contentsMouseMoveEvent( QMouseEvent* );
#ifndef QT_NO_DRAGANDDROP
    virtual void contentsDragEnterEvent( QDragEnterEvent * );
    virtual void contentsDragMoveEvent( QDragMoveEvent * );
    virtual void contentsDragLeaveEvent( QDragLeaveEvent * );
    virtual void contentsDropEvent( QDropEvent * );
#endif
    virtual void contentsWheelEvent( QWheelEvent * );

    virtual void viewportPaintEvent( QPaintEvent* );
    virtual void viewportResizeEvent( QResizeEvent* );
    virtual void viewportMousePressEvent( QMouseEvent* );
    virtual void viewportMouseReleaseEvent( QMouseEvent* );
    virtual void viewportMouseDoubleClickEvent( QMouseEvent* );
    virtual void viewportMouseMoveEvent( QMouseEvent* );
#ifndef QT_NO_DRAGANDDROP
    virtual void viewportDragEnterEvent( QDragEnterEvent * );
    virtual void viewportDragMoveEvent( QDragMoveEvent * );
    virtual void viewportDragLeaveEvent( QDragLeaveEvent * );
    virtual void viewportDropEvent( QDropEvent * );
#endif
    virtual void viewportWheelEvent( QWheelEvent * );

    virtual void drawContentsOffset(QPainter*, int ox, int oy,
                    int cx, int cy, int cw, int ch);
    virtual void drawContents(QPainter*, int cx, int cy, int cw, int ch);
    void        frameChanged();

    virtual void setMargins(int left, int top, int right, int bottom);
    int leftMargin() const;
    int topMargin() const;
    int rightMargin() const;
    int bottomMargin() const;

    bool focusNextPrevChild( bool next );

    virtual void setHBarGeometry(QScrollBar& hbar, int x, int y, int w, int h);
    virtual void setVBarGeometry(QScrollBar& vbar, int x, int y, int w, int h);

private:
    virtual void drawContents( QPainter* );
    void moveContents(int x, int y);

    QScrollViewData* d;

private slots:
    void hslide(int);
    void vslide(int);
#ifndef QT_NO_DRAGANDDROP
    void doDragAutoScroll();
    void startDragAutoScroll();
    void stopDragAutoScroll();
#endif

private:        // Disabled copy constructor and operator=
#if defined(Q_DISABLE_COPY)
    QScrollView( const QScrollView & );
    QScrollView &operator=( const QScrollView & );
#endif
    void changeFrameRect(const QRect&);
};

#endif // QT_NO_SCROLLVIEW

#endif // QSCROLLVIEW_H
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了