Re: Question about extending QtAndroidExtras
Kálmán Viktor <[email protected]> Mon, 11 May 2020 23:38:24 +0200
| Newsgroups | gmane.comp.python.pyqt-pykde |
|---|---|
| Message-ID | <CA+sJfQwvWg9tL6CKK+aqtwLzAuQioxcs0Y=r77+W+70jTikeeg@mail.gmail.com> |
My idea was that with a single string argument and string return value users can simply pass in/return JSON and that would cover multiple arguments and string/int/bool/float/list/dict types. It's a little hacky but probably still nicer than hacking Qt and pyjnius together. Phil Thompson <[email protected]> ezt írta (időpont: 2020. máj. 11., H, 22:39): > On 11/05/2020 18:38, Kálmán Viktor wrote: > > Hello! > > > > I'm wondering if it would be possible to > > extend QAndroidJniObject's callStaticMethod to a version that supports > > passing in a single string argument and the return value is also a > > string. > > > > I tried something like this locally, but both gave me JNI error when > > trying > > to use them (the parameterless int return valued callStaticMethod works > > fine but would it be good to pass in string, same for return value), > > but > > I'm not really familiar with SIP so it was just guess work (also tried > > changing int to QString but that also gave me an error) > > > > static int callStaticMethod(const char *className, const char > > *methodName, const char *signature, const char *parameter); > > %MethodCode > > sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1, a2, > > a3); > > %End > > > > static int callStaticMethod(const char *className, const char > > *methodName, const char *parameter); > > %MethodCode > > sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1, > > "(Ljava/lang/String;)I", a2); > > %End > > And what about other combinations of arguments? Each combination would > have to be implemented on a case by case basis and I don't want to start > taking random requests. > > Phil >