Guest User

Untitled

a guest
Dec 11th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. import sys
  2. from pyface.qt import QtGui, QtCore
  3. # class ScanView(QtGui.QGraphicsView):
  4. # def __init__(self,X=5, Y=5,parent=None):
  5. # super(ScanView, self).__init__(parent)
  6. class DemoApp(QtGui.QMainWindow):
  7. def __init__(self, parent=None):
  8. super(DemoApp, self).__init__()
  9. self.w= QtGui.QGridLayout()
  10. self.v= QtGui.QGraphicsView()
  11. self.w.addWidget(self.v)
  12. self.widget = QtGui.QWidget()
  13. self.widget.setLayout(self.w)
  14. self.setCentralWidget(self.widget)
  15. self._squares = []
  16.  
  17. n_rows, n_cols = 3, 2
  18. squareLB = 50
  19. label = QtGui.QLabel("xaxis")
  20. label1 = QtGui.QLabel("yaxis")
  21. self._scene = QtGui.QGraphicsScene()
  22. mytext1 = QtGui.QGraphicsSimpleTextItem('label')
  23. self._scene.addItem(mytext1)
  24. mytext2 = QtGui.QGraphicsSimpleTextItem('label1')
  25. self._scene.addItem(mytext2)
  26. self.v.setScene(self._scene)
  27.  
  28. self.pen = QtGui.QPen(QtCore.Qt.DotLine)
  29. self.pen.setColor(QtCore.Qt.red)
  30.  
  31. width, height = (2 + 2)*squareLB, (3 + 2)*squareLB
  32. self._scene = QtGui.QGraphicsScene(0, 0, max(708, width), height)
  33.  
  34. p = squareLB if width > 708 else (708.0-2*squareLB)/2.0
  35.  
  36. for i in range(n_rows):
  37. for j in range(n_cols):
  38. it = self._scene.addRect(QtCore.QRectF(0,0,squareLB,squareLB),self.pen)
  39. it.setPos(p + j*squareLB, i*squareLB)
  40.  
  41. self._squares.append(it)
  42.  
  43. self.v.setScene(self._scene)
  44. class Settings(QtGui.QMainWindow):
  45. def __init__(self, parent=None):
  46. super(Settings, self).__init__(parent)
  47.  
  48. self.folder = QtGui.QPushButton("Folder", clicked=self.showSettings)
  49. central_widget = QtGui.QWidget()
  50. self.setCentralWidget(central_widget)
  51. vbox = QtGui.QVBoxLayout()
  52. vbox.addWidget(self.folder)
  53. self.scrollArea = QtGui.QScrollArea(widgetResizable=True)
  54. self.scrollArea.setBackgroundRole(QtGui.QPalette.Light)
  55. hlay = QtGui.QHBoxLayout(central_widget)
  56. hlay.addLayout(vbox)
  57. hlay.addWidget(self.scrollArea)
  58. self.setGeometry(200, 100, 300, 300)
  59. def showSettings(self):
  60. self.view = DemoApp()
  61. self.newwidget = QtGui.QWidget()
  62. hlay = QtGui.QHBoxLayout(self.newwidget)
  63. hlay.addWidget(self.view)
  64. self.scrollArea.setWidget(self.newwidget)
  65. def main():
  66. app = QtGui.QApplication(sys.argv)
  67. ex = Settings()
  68. ex.show()
  69. sys.exit(app.exec_())
  70. if __name__ == '__main__':
  71. main()
  72.  
  73. mytext1.setPos (0,0)
Add Comment
Please, Sign In to add comment