123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- #ifndef QQUICKWIDGET_H
- #define QQUICKWIDGET_H
- #include <QtWidgets/qwidget.h>
- #include <QtQuick/qquickwindow.h>
- #include <QtCore/qurl.h>
- #include <QtQml/qqmldebug.h>
- #include <QtQuickWidgets/qtquickwidgetsglobal.h>
- #include <QtGui/qimage.h>
- QT_BEGIN_NAMESPACE
- class QQmlEngine;
- class QQmlContext;
- class QQmlError;
- class QQuickItem;
- class QQmlComponent;
- class QQuickWidgetPrivate;
- class Q_QUICKWIDGETS_EXPORT QQuickWidget : public QWidget
- {
- Q_OBJECT
- Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
- Q_PROPERTY(Status status READ status NOTIFY statusChanged)
- Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true)
- public:
- explicit QQuickWidget(QWidget *parent = Q_NULLPTR);
- QQuickWidget(QQmlEngine* engine, QWidget *parent);
- explicit QQuickWidget(const QUrl &source, QWidget *parent = Q_NULLPTR);
- virtual ~QQuickWidget();
- QUrl source() const;
- QQmlEngine* engine() const;
- QQmlContext* rootContext() const;
- QQuickItem *rootObject() const;
- enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView };
- Q_ENUM(ResizeMode)
- ResizeMode resizeMode() const;
- void setResizeMode(ResizeMode);
- enum Status { Null, Ready, Loading, Error };
- Q_ENUM(Status)
- Status status() const;
- QList<QQmlError> errors() const;
- QSize sizeHint() const;
- QSize initialSize() const;
- void setFormat(const QSurfaceFormat &format);
- QSurfaceFormat format() const;
- QImage grabFramebuffer() const;
- void setClearColor(const QColor &color);
- QQuickWindow *quickWindow() const;
- public Q_SLOTS:
- void setSource(const QUrl&);
- void setContent(const QUrl& url, QQmlComponent *component, QObject *item);
- Q_SIGNALS:
- void statusChanged(QQuickWidget::Status);
- void sceneGraphError(QQuickWindow::SceneGraphError error, const QString &message);
- private Q_SLOTS:
-
- void continueExecute();
- void createFramebufferObject();
- void destroyFramebufferObject();
- void triggerUpdate();
- protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual void timerEvent(QTimerEvent*);
- virtual void keyPressEvent(QKeyEvent *);
- virtual void keyReleaseEvent(QKeyEvent *);
- virtual void mousePressEvent(QMouseEvent *);
- virtual void mouseReleaseEvent(QMouseEvent *);
- virtual void mouseMoveEvent(QMouseEvent *);
- virtual void mouseDoubleClickEvent(QMouseEvent *);
- virtual void showEvent(QShowEvent *);
- virtual void hideEvent(QHideEvent *);
- virtual void focusInEvent(QFocusEvent * event);
- virtual void focusOutEvent(QFocusEvent * event);
- #ifndef QT_NO_WHEELEVENT
- virtual void wheelEvent(QWheelEvent *);
- #endif
- #ifndef QT_NO_DRAGANDDROP
- virtual void dragEnterEvent(QDragEnterEvent *);
- virtual void dragMoveEvent(QDragMoveEvent *);
- virtual void dragLeaveEvent(QDragLeaveEvent *);
- virtual void dropEvent(QDropEvent *);
- #endif
- bool event(QEvent *);
- private:
- Q_DISABLE_COPY(QQuickWidget)
- Q_DECLARE_PRIVATE(QQuickWidget)
- };
- QT_END_NAMESPACE
- #endif
|