This simple project works fine in Windows7 desktop but crashes in Android device(Nexus 7). I am using
Qt5,2 RC1
adt-bundle-windows-x86_64-20131030
android-ndk-r9b
PROJECT:
TEMPLATE = app
TARGET = guytestdevdays
QT += qml quick widgets
SOURCES += main.cpp
RESOURCES += morph.qrc
QRC,QML:
<RCC>
<qresource prefix="/">
<file>qml/BusySpinner.qml</file>
<file>qml/images/busy.png</file>
</qresource>
</RCC>
import QtQuick 2.1
Image {
width: 64; height: 64
function processStartHandler() {
console.log("analysis started...")
}
source: "images/busy.png"
}
SOURCE:
#include <QApplication>
#include <QtQuick/QQuickView>
#include <QHBoxLayout>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget* xwidget = new QWidget; // the central widget
QPushButton* spinButton = new QPushButton("spin");
// A little QML animation
QQuickView *qmlBusyView = new QQuickView;
qmlBusyView->setSource(QUrl("qrc:/qml/BusySpinner.qml"));
QObject* busyspinner = (QObject*)qmlBusyView->rootObject();
QObject::connect(spinButton, SIGNAL(clicked()), busyspinner, SLOT(processStartHandler()) );
QHBoxLayout mainLayout(xwidget);
QWidget* busyContainer = QWidget::createWindowContainer(qmlBusyView, 0); // new in Qt5.1
busyContainer->setMinimumSize(64, 64);
busyContainer->setMaximumSize(64, 64);
mainLayout.addWidget(busyContainer);
mainLayout.addWidget(spinButton);
xwidget->show();
return app.exec();
}
If I comment out
mainLayout.addWidget(busyContainer);
it runs on Android, and successfully connects to the QML busySpinner with a log message when the button is clicked. But the busy.png image is not rendered.
Any help would be greatly appreciated!
ERRORS:
I/Adreno-EGL(28724): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM build: (CL3776187)
I/Adreno-EGL(28724): OpenGL ES Shader Compiler Version:
I/Adreno-EGL(28724): Build Date: 10/15/13 Tue
I/Adreno-EGL(28724): Local Branch:
I/Adreno-EGL(28724): Remote Branch: partner/upstream
I/Adreno-EGL(28724): Local Patches:
I/Adreno-EGL(28724): Reconstruct Branch:
D/Qt (28724): qtcpserverconnection.cpp:173 (void QTcpServerConnection::listen()): QML Debugger: Waiting for connection on port 52925...
D/Qt (28724): fontdatabases\basic\qbasicfontdatabase.cpp:246 (static QStringList QBasicFontDatabase::addTTFile(const QByteArray&, const QByteArray&&#41;): FT_New_Face failed with index 0 : 90
W/Adreno-EGL(28724): <qeglDrvAPI_eglMakeCurrent:2918>: EGL_BAD_MATCH
E/libEGL (28724): eglMakeCurrent:775 error 3009 (EGL_BAD_MATCH)
W/Qt (28724): eglconvenience\qeglplatformcontext.cpp:119 (virtual bool QEGLPlatformContext::makeCurrent(QPlatformSurface*)): QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x74f10f68
↧