Advertisement
Sax

PyPod 3.0 GUI

Sax
Nov 27th, 2011
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.74 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. #!/usr/bin/python
  3.  
  4. # Import PySide classes
  5. import sys
  6.  
  7. from PySide.QtCore import *
  8. from PySide.QtGui import *
  9.  
  10. from ipodsrc import *
  11.  
  12. # Funciones y demás weas -----------------------------------
  13.  
  14. def showPlayback():
  15.     aipo.screen.clear()
  16.     aipo.screen.append("El Playback actual es el siguiente: ")
  17.     for i in ipod.playback:
  18.         aipo.screen.append(str(i))
  19.  
  20. def showNowPlaying():
  21.     aipo.screen.clear()
  22.     aipo.screen.append("En este momento estas oyendo: ")
  23.     aipo.screen.append(ipod.nowPlaying())
  24.  
  25. def shuffle():
  26.     aipo.screen.clear()
  27.     aipo.screen.append(ipod.shuffle())
  28.  
  29. def playmode():
  30.     aipo.screen.clear()
  31.     aipo.screen.append(ipod.changePlayMode())
  32.  
  33. # GUI ------------------------------------------------------
  34.  
  35. # Crea la aplicación
  36. app = QApplication(sys.argv)
  37.  
  38. # Crea el widget completo
  39. aipo = QWidget()
  40. aipo.setWindowTitle("PyPod 3.2")
  41.  
  42. # Crea el lienzo gráfico para los dibujos
  43. aipo.scene = QGraphicsScene()
  44.  
  45. # Pseudo dibuja el iPod
  46. aipo.scene.addRect(0, 0, 375, 500, brush=Qt.darkCyan)
  47. aipo.scene.addRect(10, 15, 355, 380, brush=Qt.lightGray)
  48.  
  49. # Crea la Textarea de la pantalla
  50. aipo.screen = QTextEdit()
  51. aipo.screen.resize(340, 350)
  52. aipo.screen.move(10, 0)
  53. aipo.screen.show()
  54. aipo.screen.setReadOnly(True)
  55.  
  56. aipo.scene.addWidget(aipo.screen)
  57.  
  58. view = QGraphicsView(aipo.scene)
  59. view.show()
  60.  
  61. # Se crea el layout del widget completo
  62. mainLayout = QGridLayout()
  63.  
  64. # Crea los botones y los hace visibles ---------------------
  65. aipo.prev = QPushButton("<< &Prev")
  66. aipo.prev.show()
  67. aipo.now = QPushButton("Now Pla&ying")
  68. aipo.now.show()
  69. aipo.next = QPushButton("&Next >>")
  70. aipo.next.show()
  71. aipo.playback = QPushButton("&Mostrar Playback")
  72. aipo.playback.show()
  73. aipo.shuffle = QPushButton("&Shuffle")
  74. aipo.shuffle.show()
  75. aipo.playmode = QPushButton("Modo de &Reproduccion")
  76. aipo.playmode.show()
  77.  
  78. #Se define la función de cada botón ------------------------
  79. aipo.prev.clicked.connect(ipod.prevTrack)
  80. aipo.now.clicked.connect(showNowPlaying)
  81. aipo.next.clicked.connect(ipod.nextTrack)
  82. aipo.playback.clicked.connect(showPlayback)
  83. aipo.shuffle.clicked.connect(shuffle)
  84. aipo.playmode.clicked.connect(playmode)
  85.  
  86. # Layout de los botones ------------------------------------
  87. buttonLayout = QVBoxLayout()
  88.  
  89. buttonLayout.addWidget(aipo.prev)
  90. buttonLayout.addWidget(aipo.now)
  91. buttonLayout.addWidget(aipo.next)
  92. buttonLayout.addWidget(aipo.playback)
  93. buttonLayout.addWidget(aipo.shuffle)
  94. buttonLayout.addWidget(aipo.playmode)
  95. buttonLayout.addStretch()
  96.  
  97. # Layout de todo el widget ---------------------------------
  98. mainLayout.addWidget(view, 0, 0)
  99. mainLayout.addLayout(buttonLayout, 0, 1)
  100.  
  101. aipo.setLayout(mainLayout)
  102. # Muestra el widget aipo -----------------------------------
  103. aipo.show()
  104.  
  105. # Salir de la aplicación
  106. sys.exit(app.exec_())
  107.  
  108. if __name__ == '__main__':
  109.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement