P y t h o n 3 a n d Q t 5 w i t h Q M L T h o - - PowerPoint PPT Presentation

p y t h o n 3 a n d q t 5 w i t h q m l
SMART_READER_LITE
LIVE PREVIEW

P y t h o n 3 a n d Q t 5 w i t h Q M L T h o - - PowerPoint PPT Presentation

P y t h o n 3 a n d Q t 5 w i t h Q M L T h o m a s P e r l , J o l l a L t d . Q t D e v e l o p e r D a y s 2 0 1 3 , B e r l i n , 2 0 1 3 - 1 0 - 0 9 C o m p a n


slide-1
SLIDE 1

C

  • m

p a n y C

  • n

f i d e n t i a l

P y t h

  • n

3 a n d Q t 5 w i t h Q M L

T h

  • m

a s P e r l , J

  • l

l a L t d . Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9
slide-2
SLIDE 2

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Overview

  • B

a c k g r

  • u

n d

  • C
  • m

p a r i s

  • n
  • A

P I O v e r v i e w

  • S

t a t u s a n d R

  • a

d m a p

  • S

n a k e s

  • n

a B

  • a

t

slide-3
SLIDE 3

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Background

  • 2

7 : P y G t k / H i l d

  • n
  • n

N 8 / N 8 1

  • 2

9 : P y M a e m

  • /

H i l d

  • n
  • n

N 9

  • 2

1 1 : P y S i d e / Q t 4

  • n

N 9

  • 2

1 3 : P y O t h e r S i d e

  • n

S a i l f i s h O S

  • O

n

  • t

h e r p l a t f

  • r

m s :

– S

L 4 A , P y S 6 , B B

  • T

a r t , . . .

slide-4
SLIDE 4

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Comparison: License/Versions

  • P

y Q t : G P L ' d a n d c

  • m

m e r c i a l b i n d i n g s

– Q

t 4 a n d Q t 5

– P

y t h

  • n

2 a n d P y t h

  • n

3

  • P

y S i d e : L G P L ' d b i n d i n g s + g e n e r a t

  • r

– Q

t 4

  • n

l y a t t h e m

  • m

e n t

– P

y t h

  • n

2 a n d P y t h

  • n

3

  • P

y O t h e r S i d e : I S C / B S D Q M L P l u g i n

– Q

t 5 ( Q t 4 s u p p

  • r

t a v a i l a b l e i n G i t h i s t

  • r

y )

– P

y t h

  • n

3 ( P y t h

  • n

2 s t i l l w

  • r

k s , b u t u n s u p p

  • r

t e d )

slide-5
SLIDE 5

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Comparison: Performance

  • S

t a r t u p t i m e ( t

  • f

i r s t v i s i b l e s c r e e n )

– P

y S i d e / P y Q t : C P y t h

  • n

+ P y t h

  • n

c

  • d

e + B i n d i n g s + Q t

– P

y O t h e r S i d e : Q t

  • n

l y ( P y t h

  • n

l

  • a

d i n g d e l a y e d u n t i l u s e )

  • R

e s p

  • n

s i v e n e s s

– P

y S i d e / P y Q t : S y n c h r

  • n
  • u

s b y d e f a u l t

– P

y O t h e r S i d e : A s y n c h r

  • n
  • u

s b y d e f a u l t

  • L

i b r a r y s i z e ( s p a c e u s a g e , m e m

  • r

y f

  • t

p r i n t )

– P

y S i d e : Q t C

  • r

e ~ 2 . 8 M i B , Q t G u i : ~ 1 2 . 5 M i B , . . .

– P

y O t h e r S i d e : ~ 1 4 5 K i B

slide-6
SLIDE 6

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Comparison: Usage

  • P

y S i d e / P y Q t

– P

y t h

  • n

i n t e r p r e t e r u s e s Q t / Q M L t

  • d

i s p l a y U I

  • P

y O t h e r S i d e

– Q

M L u s e s P y t h

  • n

a s a d a t a p r

  • v

i d e r / b a c k e n d

slide-7
SLIDE 7

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

API Overview: QML Methods

void addImportPath(path) void setHandler(event, callback) QVariant evaluate(expr) void importModule(name, callback) void call(func, args, callback)

slide-8
SLIDE 8

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

API Overview: QML Signals

received(data) error(traceback)

slide-9
SLIDE 9

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

API Overview: Python Module

import pyotherside pyotherside.send(*args) pyotherside.atexit(f)

slide-10
SLIDE 10

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

API Overview: Image Provider

def func(image_id, size): return (pixels, (width, height), format) pyotherside.set_image_provider(func) Image { src: 'image://python/<image_id>' }

slide-11
SLIDE 11

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Current Status

  • D

e s k t

  • p

P l a t f

  • r

m s f u l l y s u p p

  • r

t e d

  • S

a i l f i s h O S

– B

e s t s u p p

  • r

t : A l r e a d y i n M e r a n d S a i l f i s h O S r e p

  • s

i t

  • r

i e s

  • B

l a c k b e r r y 1

– P

y t h

  • n

3 f r

  • m

s y s t e m , s h i p Q t 5 a n d P y O t h e r S i d e i n a p p

  • A

n d r

  • i

d

– S

h i p P y t h

  • n

3 + Q t 5 + P y O t h e r S i d e i n a p p

slide-12
SLIDE 12

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Roadmap

  • E

m b e d P y t h

  • n

s c r i p t s i n Q t R e s

  • u

r c e s

  • S

t a t i c l i n k i n g

  • f

l i b p y t h

  • n

+ m

  • d

u l e s

  • S

u p p

  • r

t f

  • r

P y P y ( J I T )

  • W

r a p p i n g P y t h

  • n
  • b

j e c t s a s Q M L / J S v a l u e s

slide-13
SLIDE 13

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Snakes on a Boat

slide-14
SLIDE 14

Q t D e v e l

  • p

e r D a y s 2 1 3 , B e r l i n , 2 1 3

  • 1
  • 9

P y t h

  • n

3 a n d Q t 5 w i t h Q M L , T h

  • m

a s P e r l

Q&A

Project: http://thp.io/2011/pyotherside/ Source: http://github.com/thp/pyotherside/ @thp4 / m@thp.io