Selamün Aleyküm;
Şöyle bir kod yazdım:
// testclass.h
class TestClass : public QObject
{
Q_OBJECT
public:
Q_INVOKABLE enum Duration {
SHORT = 0,
LONG = 1
};
explicit TestClass(QObject *parent = 0);
Q_INVOKABLE QString message(const QString& msg);
Q_INVOKABLE void toast_message(const QString& text, Duration duration);
signals:
public slots:
};
..
// testclass.cpp
..
void TestClass::toast_message(const QString& text, Duration duration = SHORT)
{
QAndroidJniObject _text = QAndroidJniObject::fromString(text);
QAndroidJniObject toast = QAndroidJniObject::callStaticObjectMethod("android/widget/Toast", "makeText",
"(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;",
QtAndroid::androidActivity().object(), _text.object(), jint(duration));
toast.callMethod<void>("show");
}
..
Bu sınıf ve üye fonksiyon QML içerisinde kullanılacak ve uygulamayı çalıştırdığımda uygulama çalışıyor lakin toast_message üye fonksiyonu devreye sokulduğunda şu uyarıyı veriyor: 'W/libQt_App.so(11956): qrc:/Page1.qml:17 ((null)): qrc:/Page1.qml:17: Error: Unknown method parameter type: Duration'
Yani neden Duration numaralandırma tipli parametreyi bilinmeyen parametre olarak algılıyor? Nasıl çözüme ulaşabilirim? Teşekkürler!
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
Permalink
Reply