Advertisement
Guest User

Untitled

a guest
Apr 26th, 2012
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.30 KB | None | 0 0
  1. import sys
  2. from PySide.QtCore import *
  3. from PySide.QtGui import *
  4.  
  5. class SliderWidget( QWidget ):
  6.     def __init__( self ):
  7.         super( SliderWidget, self ).__init__( parent= None )
  8.         self.buildUI()
  9.  
  10.     def buildUI( self ):
  11.         self.setLayout( QGridLayout() )
  12.        
  13.         self.frame1 = QFrame()
  14.         self.frame2 = QFrame()
  15.         self.frame3 = QFrame()      
  16.         self.btn = QPushButton( 'GO' )
  17.        
  18.         self.btn.clicked.connect( self.moveWidgets )
  19.        
  20.         self.frame1.setFrameStyle( QFrame.StyledPanel )
  21.         self.frame1.setToolTip( 'frame 1' )
  22.         self.frame2.setFrameStyle( QFrame.StyledPanel )
  23.         self.frame2.setToolTip( 'frame 2' )
  24.         self.frame3.setFrameStyle( QFrame.StyledPanel )
  25.         self.frame3.setToolTip( 'frame 3' )
  26.  
  27.         self.frame1.hide()
  28.         self.frame3.hide()
  29.        
  30.         self.layout().addWidget( self.frame1 )
  31.         self.layout().addWidget( self.frame2 )
  32.         self.layout().addWidget( self.btn )
  33.         self.layout().addWidget( self.frame3 )
  34.        
  35.     def moveWidgets( self ):
  36.         self.slideInWidget( self.frame1, 'topDown' )
  37.         self.slideInWidget( self.frame3, 'bottomUp')
  38.  
  39.     def slideInWidget( self, widget, direction ):
  40.         assert direction in ( 'topDown', 'bottomUp' )
  41.         # SLIDE IN A WIDGET
  42.         if direction == 'topDown':
  43.             start = -1000
  44.             end = 0
  45.         elif direction == 'bottomUp':
  46.             start = 1500
  47.             end = 500
  48.         widget.show()
  49.         self.animGroup = QParallelAnimationGroup()
  50.         slideInAnim = self.slideAnimation( widget, start, end)
  51.         self.animGroup.addAnimation( slideInAnim )
  52.        
  53.         self.animGroup.start()
  54.        
  55.  
  56.  
  57.     def slideAnimation( self, widget, start, end ):
  58.         slideAnimation = QPropertyAnimation( widget, 'pos' )
  59.         slideAnimation.setDuration( 1000 )
  60.         slideAnimation.setStartValue( QPoint( widget.pos().x(), start ) )
  61.         slideAnimation.setEndValue( QPoint( widget.pos().x(), end ) )
  62.         slideAnimation.setEasingCurve( QEasingCurve.OutCubic )
  63.         return slideAnimation
  64.  
  65. if __name__ == "__main__":
  66.  
  67.     app = QApplication(sys.argv)  
  68.     sw = SliderWidget  ()
  69.    
  70.     sw.resize( 800, 750 )
  71.     sw.show()
  72.    
  73.     sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement