Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro to PySide

Intro to PySide

Python CodeLabs - Python GUI / Desktop App - Introduction to PySide
http://eueung.github.io/python/pyside

Eueung Mulyana

November 29, 2015
Tweet

More Decks by Eueung Mulyana

Other Decks in Programming

Transcript

  1. Example #1 f r o m P y S i

    d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q L a b e l # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p = Q A p p l i c a t i o n ( [ ] ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - w i n d o w = Q L a b e l ( ' W i n d o w f r o m l a b e l ' ) w i n d o w . s h o w ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p . e x e c _ ( ) Example #2 f r o m P y S i d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q P u s h B u t t o n # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p = Q A p p l i c a t i o n ( [ ] ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b u t t o n = Q P u s h B u t t o n ( ' E x i t ' ) b u t t o n . c l i c k e d . c o n n e c t ( a p p . e x i t ) b u t t o n . s h o w ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p . e x e c _ ( ) 3 / 20
  2. Example #3 Example #4 i m p o r t

    s y s # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - f r o m P y S i d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q L a b e l # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p = Q A p p l i c a t i o n ( s y s . a r g v ) l a b e l = Q L a b e l ( " < f o n t c o l o r = r e d s i z e = 4 0 > H e l l o W o r l d < / f o n t > " ) l a b e l . s h o w ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p . e x e c _ ( ) s y s . e x i t ( ) i m p o r t s y s i m p o r t P y S i d e f r o m P y S i d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q M e s s a g e B o x # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p = Q A p p l i c a t i o n ( s y s . a r g v ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - m s g B o x = Q M e s s a g e B o x ( ) m s g B o x . s e t T e x t ( " H e l l o W o r l d - u s i n g P y S i d e v e r s i o n " + P y S i d e . _ _ v e r s i o n _ _ ) m s g B o x . e x e c _ ( ) 4 / 20
  3. Example #5 f r o m P y S i

    d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q P u s h B u t t o n , Q C o l o r D i a l # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - d e f c h o o s e _ c o l o r ( ) : c o l o r = Q C o l o r D i a l o g ( ) . g e t C o l o r ( ) m s g b o x = Q M e s s a g e B o x ( ) i f c o l o r . i s V a l i d ( ) : p i x m a p = Q P i x m a p ( 5 0 , 5 0 ) p i x m a p . f i l l ( c o l o r ) m s g b o x . s e t W i n d o w T i t l e ( u ' S e l e c t e d C o l o r ' ) m s g b o x . s e t I c o n P i x m a p ( p i x m a p ) e l s e : m s g b o x . s e t W i n d o w T i t l e ( u ' N o C o l o r w a s S e l e c t e d ' ) m s g b o x . e x e c _ ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p = Q A p p l i c a t i o n ( [ ] ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b u t t o n = Q P u s h B u t t o n ( ' C h o o s e C o l o r ' ) b u t t o n . c l i c k e d . c o n n e c t ( c h o o s e _ c o l o r ) b u t t o n . s h o w ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p . e x e c _ ( ) 5 / 20
  4. Example #6 f r o m P y S i

    d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q P u s h B u t t o n , Q C o l o r D i a l # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s B u t t o n P a i n t e r ( o b j e c t ) : d e f _ _ i n i t _ _ ( s e l f , b u t t o n ) : s e l f . b u t t o n = b u t t o n d e f c h o o s e _ c o l o r ( s e l f ) : c o l o r = Q C o l o r D i a l o g ( ) . g e t C o l o r ( ) i f c o l o r . i s V a l i d ( ) : s e l f . b u t t o n . s e t S t y l e S h e e t ( u ' b a c k g r o u n d - c o l o r : ' + c o l o r e l s e : m s g b o x = Q M e s s a g e B o x ( ) m s g b o x . s e t W i n d o w T i t l e ( u ' N o C o l o r w a s S e l e c t e d ' ) m s g b o x . e x e c _ ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p = Q A p p l i c a t i o n ( [ ] ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b u t t o n = Q P u s h B u t t o n ( ' C h o o s e C o l o r ' ) b u t t o n _ p a i n t e r = B u t t o n P a i n t e r ( b u t t o n ) b u t t o n . c l i c k e d . c o n n e c t ( b u t t o n _ p a i n t e r . c h o o s e _ c o l o r ) b u t t o n . s h o w ( ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a p p . e x e c _ ( ) 6 / 20
  5. Example #1 p y s i d e - u

    i c q u i t t e r . u i - o u i _ q u i t t e r . p y i m p o r t s y s f r o m P y S i d e . Q t G u i i m p o r t Q M a i n W i n d o w , Q P u s h B u t t o n , Q A p p l i c a t i o f r o m u i _ q u i t t e r i m p o r t U i _ M a i n W i n d o w # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s M a i n W i n d o w ( Q M a i n W i n d o w , U i _ M a i n W i n d o w ) : d e f _ _ i n i t _ _ ( s e l f , p a r e n t = N o n e ) : s u p e r ( M a i n W i n d o w , s e l f ) . _ _ i n i t _ _ ( p a r e n t ) s e l f . s e t u p U i ( s e l f ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i f _ _ n a m e _ _ = = ' _ _ m a i n _ _ ' : a p p = Q A p p l i c a t i o n ( s y s . a r g v ) f r a m e = M a i n W i n d o w ( ) f r a m e . s h o w ( ) a p p . e x e c _ ( ) 8 / 20
  6. Example #2 p y s i d e - u

    i c a b o u t . u i > u i _ a b o u t . p y i m p o r t s y s i m p o r t p l a t f o r m # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i m p o r t P y S i d e f r o m P y S i d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q M a i n W i n d o w , Q T e x t E d i t , # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - f r o m u i _ a b o u t i m p o r t U i _ M a i n W i n d o w # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ _ v e r s i o n _ _ = ' 0 . 0 . 1 ' # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s M a i n W i n d o w ( Q M a i n W i n d o w , U i _ M a i n W i n d o w ) : d e f _ _ i n i t _ _ ( s e l f , p a r e n t = N o n e ) : s u p e r ( M a i n W i n d o w , s e l f ) . _ _ i n i t _ _ ( p a r e n t ) s e l f . s e t u p U i ( s e l f ) s e l f . a b o u t B u t t o n . c l i c k e d . c o n n e c t ( s e l f . a b o u t ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - d e f a b o u t ( s e l f ) : Q M e s s a g e B o x . a b o u t ( s e l f , " A b o u t P y S i d e , P l a t f o r m a n d t h " " " < b > P l a t f o r m D e t a i l s < / b > v { } < p > C o p y r i g h t © 2 0 1 0 J o e B l o g g s . A l l r i g h t s r e s e r v e d i n < p > T h i s a p p l i c a t i o n c a n b e u s e d f o r d i s p l a y i n g p l a t f o r < p > P y t h o n { } - P y S i d e v e r s i o n { } - Q t v e r s i o n { } o n { } p l a t f o r m . p y t h o n _ v e r s i o n ( ) , P y S i d e . _ _ v e r s i o n _ _ , P y S i d e . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i f _ _ n a m e _ _ = = ' _ _ m a i n _ _ ' : a p p = Q A p p l i c a t i o n ( s y s . a r g v ) f r a m e = M a i n W i n d o w ( ) f r a m e . s h o w ( ) a p p . e x e c _ ( ) 10 / 20
  7. Example #3 p y s i d e - u

    i c l i c e n c e . u i > u i _ l i c e n c e . p y i m p o r t s y s f r o m P y S i d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q M a i n W i n d o w , Q T e x t E d i t , f r o m u i _ l i c e n c e i m p o r t U i _ M a i n W i n d o w # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ _ v e r s i o n _ _ = ' 3 . 3 . 0 ' # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s M a i n W i n d o w ( Q M a i n W i n d o w , U i _ M a i n W i n d o w ) : d e f _ _ i n i t _ _ ( s e l f , p a r e n t = N o n e ) : ' ' ' M a n d a t o r y i n i t i a l i s a t i o n o f a c l a s s . ' ' ' s u p e r ( M a i n W i n d o w , s e l f ) . _ _ i n i t _ _ ( p a r e n t ) s e l f . s e t u p U i ( s e l f ) s e l f . s h o w B u t t o n . c l i c k e d . c o n n e c t ( s e l f . f i l e R e a d ) d e f f i l e R e a d ( s e l f ) : ' ' ' R e a d a n d d i s p l a y l i c e n c e . ' ' ' w i t h o p e n ( ' C C P L . t x t ' ) a s n o n a m e f i l e : s e l f . t e x t E d i t . s e t T e x t ( n o n a m e f i l e . r e a d ( ) ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i f _ _ n a m e _ _ = = ' _ _ m a i n _ _ ' : a p p = Q A p p l i c a t i o n ( s y s . a r g v ) f r a m e = M a i n W i n d o w ( ) f r a m e . s h o w ( ) a p p . e x e c _ ( ) 12 / 20
  8. Example #4 p y s i d e - u

    i c c o m b i n e . u i > u i _ c o m b i n e . p y i m p o r t s y s i m p o r t p l a t f o r m # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i m p o r t P y S i d e f r o m P y S i d e . Q t G u i i m p o r t Q A p p l i c a t i o n , Q M a i n W i n d o w , Q M e s s a g e B o # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ _ v e r s i o n _ _ = ' 3 . 0 . 3 ' f r o m u i _ c o m b i n e i m p o r t U i _ M a i n W i n d o w # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s M a i n W i n d o w ( Q M a i n W i n d o w , U i _ M a i n W i n d o w ) : d e f _ _ i n i t _ _ ( s e l f , p a r e n t = N o n e ) : s u p e r ( M a i n W i n d o w , s e l f ) . _ _ i n i t _ _ ( p a r e n t ) s e l f . s e t u p U i ( s e l f ) s e l f . a c t i o n S h o w _ C C P L . t r i g g e r e d . c o n n e c t ( s e l f . s h o w C C P L ) s e l f . a c t i o n _ A b o u t . t r i g g e r e d . c o n n e c t ( s e l f . a b o u t ) d e f s h o w C C P L ( s e l f ) : w i t h o p e n ( ' C C P L . t x t ' ) a s f i : s e l f . t e x t E d i t . s e t T e x t ( f i . r e a d ( ) ) d e f a b o u t ( s e l f ) : Q M e s s a g e B o x . a b o u t ( s e l f , " A b o u t P y S i d e , P l a t f o r m a n d v e " " " < b > a b o u t . p y v e r s i o n % s < / b > < p > C o p y r i g h t © 2 0 1 3 b y A l g i s K a b a i l a . T h i s w o r < p > T h i s a p p l i c a t i o n i s u s e f u l f o r d i s p l a y i n g Q < p > P y t h o n % s - P y S i d e v e r s i o n % s - Q t v e r s i o n p l a t f o r m . p y t h o n _ v e r s i o n ( ) , P y S i d e . _ _ v e r s i o n _ _ , # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i f _ _ n a m e _ _ = = ' _ _ m a i n _ _ ' : a p p = Q A p p l i c a t i o n ( s y s . a r g v ) f r a m e = M a i n W i n d o w ( ) f r a m e . s h o w ( ) s y s . e x i t ( a p p . e x e c _ ( ) ) 14 / 20
  9. Example #5 p y s i d e - r

    c c c o m b i n e . q r c - o q r c _ c o m b i n e . p y combine.qrc < ! D O C T Y P E R C C > < R C C v e r s i o n = " 1 . 0 " > < q r e s o u r c e > < f i l e a l i a s = " q u i t . p n g " > s e l e c t _ t a n g o / 3 2 x 3 2 / a c t i o n s / s y s t e m - l o g - o < f i l e a l i a s = " a b o u t . p n g " > s e l e c t _ t a n g o / 3 2 x 3 2 / a p p s / p r e f e r e n c e s - s y < f i l e a l i a s = " s h o w g p l . p n g " > s e l e c t _ t a n g o / 3 2 x 3 2 / a p p s / h e l p - b r o w s e r < / q r e s o u r c e > < / R C C > 16 / 20
  10. i m p o r t s y s i

    m p o r t p l a t f o r m i m p o r t P y S i d e f r o m P y S i d e . Q t G u i i m p o r t ( Q A p p l i c a t i o n , Q M a i n W i n d o w , Q M e s s a g e B o x , Q I c o n ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ _ v e r s i o n _ _ = ' 3 . 1 . 5 ' f r o m u i _ c o m b i n e i m p o r t U i _ M a i n W i n d o w i m p o r t q r c _ c o m b i n e # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s M a i n W i n d o w ( Q M a i n W i n d o w , U i _ M a i n W i n d o w ) : d e f _ _ i n i t _ _ ( s e l f , p a r e n t = N o n e ) : s u p e r ( M a i n W i n d o w , s e l f ) . _ _ i n i t _ _ ( p a r e n t ) s e l f . s e t u p U i ( s e l f ) s e l f . s e t W i n d o w T i t l e ( ' C o m b i n e C o d e B l o c k s . ' ) s e l f . a c t i o n S h o w _ C C P L . t r i g g e r e d . c o n n e c t ( s e l f . s h o w C C P L ) s e l f . a c t i o n _ A b o u t . t r i g g e r e d . c o n n e c t ( s e l f . a b o u t ) i c o n T o o l B a r = s e l f . a d d T o o l B a r ( ' ' ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # A d d i c o n s t o a p p e a r i n t o o l b a r - s t e p 1 s e l f . a c t i o n S h o w _ C C P L . s e t I c o n ( Q I c o n ( " : / s h o w g p l . p n g " ) ) s e l f . a c t i o n _ A b o u t . s e t I c o n ( Q I c o n ( " : / a b o u t . p n g " ) ) s e l f . a c t i o n _ C l o s e . s e t I c o n ( Q I c o n ( " : / q u i t . p n g " ) ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # S h o w a t i p o n t h e S t a t u s B a r - s t e p 2 s e l f . a c t i o n S h o w _ C C P L . s e t S t a t u s T i p ( " S h o w C C P L i c e n c e " s e l f . a c t i o n _ A b o u t . s e t S t a t u s T i p ( " P o p u p t h e A b o u t d i a l o g . " s e l f . a c t i o n _ C l o s e . s e t S t a t u s T i p ( " C l o s e t h e p r o g r a m . " ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i c o n T o o l B a r . a d d A c t i o n ( s e l f . a c t i o n S h o w _ C C P L ) i c o n T o o l B a r . a d d A c t i o n ( s e l f . a c t i o n _ A b o u t ) i c o n T o o l B a r . a d d A c t i o n ( s e l f . a c t i o n _ C l o s e ) Example #5 d e f s h o w C C P L ( s e l f ) : # . . . d e f a b o u t ( s e l f ) : # . . . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i f _ _ n a m e _ _ = = ' _ _ m a i n _ _ ' : # . . . 17 / 20
  11. i m p o r t . . . f

    r o m P y S i d e . Q t G u i i m p o r t ( Q A p p l i c a t i o n , Q M a i n W i n d o w , Q M e s s a g e B o x , Q I c o n ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ _ v e r s i o n _ _ = ' 3 . 1 . 5 ' f r o m u i _ c o m b i n e i m p o r t U i _ M a i n W i n d o w a s U i i m p o r t q r c _ c o m b i n e # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c l a s s M a i n W i n d o w ( Q M a i n W i n d o w ) : d e f _ _ i n i t _ _ ( s e l f , p a r e n t = N o n e ) : s u p e r ( M a i n W i n d o w , s e l f ) . _ _ i n i t _ _ ( p a r e n t ) # S t o r e U i ( ) a s c l a s s v a r i a b l e s e l f . u i s e l f . u i = U i ( ) s e l f . u i . s e t u p U i ( s e l f ) s e l f . s e t W i n d o w T i t l e ( ' C o m b i n e C o d e B l o c k s . ' ) s e l f . u i . a c t i o n S h o w _ C C P L . t r i g g e r e d . c o n n e c t ( s e l f . s h o w C C P L ) s e l f . u i . a c t i o n _ A b o u t . t r i g g e r e d . c o n n e c t ( s e l f . a b o u t ) i c o n T o o l B a r = s e l f . a d d T o o l B a r ( " i c o n B a r . p n g " ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # A d d i c o n s t o a p p e a r i n t o o l b a r - s t e p 1 s e l f . u i . a c t i o n S h o w _ C C P L . s e t I c o n ( Q I c o n ( " : / s h o w g p l . p n g " s e l f . u i . a c t i o n _ A b o u t . s e t I c o n ( Q I c o n ( " : / a b o u t . p n g " ) ) s e l f . u i . a c t i o n _ C l o s e . s e t I c o n ( Q I c o n ( " : / q u i t . p n g " ) ) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # S h o w a t i p o n t h e S t a t u s B a r - s t e p 2 s e l f . u i . a c t i o n S h o w _ C C P L . s e t S t a t u s T i p ( " S h o w C C L i c e n c e " s e l f . u i . a c t i o n _ A b o u t . s e t S t a t u s T i p ( " P o p u p t h e A b o u t d i a l o g . " s e l f . u i . a c t i o n _ C l o s e . s e t S t a t u s T i p ( " C l o s e t h e p r o g r a m . " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i c o n T o o l B a r . a d d A c t i o n ( s e l f . u i . a c t i o n S h o w _ C C P L ) i c o n T o o l B a r . a d d A c t i o n ( s e l f . u i . a c t i o n _ A b o u t ) i c o n T o o l B a r . a d d A c t i o n ( s e l f . u i . a c t i o n _ C l o s e ) Example #5 - Alternative d e f s h o w C C P L ( s e l f ) : w i t h o p e n ( ' C C P L . t x t ' ) a s f i : s e l f . u i . t e x t E d i t . s e t T e x t ( f i . r e a d ( ) ) d e f a b o u t ( s e l f ) : Q M e s s a g e B o x . a b o u t ( s e l f , " A b o u t P y S i d e , P l a t f o r m a n d t h " " " < b > a b o u t . p y v e r s i o n % s < / b > < p > C o p y r i g h t © 2 0 1 3 b y A l g i s K a b a i l a . T h i s w o r C r e a t i v e C o m m o n s A t t r i b u t i o n - S h a r e A l i k e 3 . 0 l i < p > T h i s a p p l i c a t i o n i s u s e f u l f o r d i s p l a y i n g Q < p > P y t h o n % s - P y S i d e v e r s i o n % s - Q t v e r s i o n ( _ _ v e r s i o n _ _ , p l a t f o r m . p y t h o n _ v e r s i o n ( ) , P y S i d # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i f _ _ n a m e _ _ = = ' _ _ m a i n _ _ ' : a p p = Q A p p l i c a t i o n ( s y s . a r g v ) f r a m e = M a i n W i n d o w ( ) f r a m e . s h o w ( ) s y s . e x i t ( a p p . e x e c _ ( ) ) 18 / 20
  12. References 1. PySide-Newbie-Tutorials 2. OldAl/tuts4pyside 3. techtonik/pyside Other Readings 1.

    PySide - Qt Wiki 2. PySide Tutorials - Qt Wiki 3. PySide Example Applications 4. PySide/Examples 5. shuge/Qt-Python-Binding-Examples 6. Friz-zy/basis 19 / 20