Fix non-Quick builds.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2020-05-08 15:54:47 +08:00
parent 09a2165e1a
commit a04d1012c7
1 changed files with 10 additions and 0 deletions

View File

@ -4,9 +4,13 @@
#include <QLabel> #include <QLabel>
#include <QMargins> #include <QMargins>
#include <QPushButton> #include <QPushButton>
#ifdef QT_QUICK_LIB
#include <QQmlContext> #include <QQmlContext>
#include <QQuickItem> #include <QQuickItem>
#include <QQuickView> #include <QQuickView>
#else
#include <QWindow>
#endif
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QWidget> #include <QWidget>
#include <qpa/qplatformnativeinterface.h> #include <qpa/qplatformnativeinterface.h>
@ -35,6 +39,7 @@ static void updateQtFrame(QWindow *const window, const int titleBarHeight) {
} }
} }
#ifdef QT_QUICK_LIB
class MyQuickView : public QQuickView { class MyQuickView : public QQuickView {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY_MOVE(MyQuickView) Q_DISABLE_COPY_MOVE(MyQuickView)
@ -54,6 +59,7 @@ protected:
Q_SIGNALS: Q_SIGNALS:
void windowSizeChanged(const QSize &); void windowSizeChanged(const QSize &);
}; };
#endif
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
// High DPI scaling is enabled by default from Qt 6 // High DPI scaling is enabled by default from Qt 6
@ -138,6 +144,7 @@ int main(int argc, char *argv[]) {
WinNativeEventFilter::addFramelessWindow(hWnd_widget, &data_widget, true); WinNativeEventFilter::addFramelessWindow(hWnd_widget, &data_widget, true);
widget.show(); widget.show();
#ifdef QT_QUICK_LIB
// Qt Quick example: // Qt Quick example:
MyQuickView view; MyQuickView view;
const auto hWnd_qml = reinterpret_cast<HWND>(view.winId()); const auto hWnd_qml = reinterpret_cast<HWND>(view.winId());
@ -175,8 +182,11 @@ int main(int argc, char *argv[]) {
view.resize(800, 600); view.resize(800, 600);
WinNativeEventFilter::addFramelessWindow(hWnd_qml, nullptr, true); WinNativeEventFilter::addFramelessWindow(hWnd_qml, nullptr, true);
view.show(); view.show();
#endif
return QApplication::exec(); return QApplication::exec();
} }
#ifdef QT_QUICK_LIB
#include "main.moc" #include "main.moc"
#endif