LabelMe2.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/usr/bin/env python
  2. import re
  3. from PyQt4.QtCore import *
  4. from PyQt4.QtGui import *
  5. import ui_LabelME
  6. from shape import *
  7. MAC = "qt_mac_set_native_menubar" in dir()
  8. class LabelMeWindow(QMainWindow,
  9. ui_LabelME.Ui_MainWindow):
  10. def __init__(self, text, parent=None):
  11. super(LabelMeWindow, self).__init__(parent)
  12. self.__text = unicode(text)
  13. self.__index = 0
  14. self.pic=QPixmap()
  15. t=self.pic.load('me2.jpg')
  16. self.shapes=[]
  17. self.counter=0
  18. sp=shape('one',QColor(0,255,0))
  19. self.shapes.append(sp)
  20. self.setupUi(self)
  21. self.dockWidget.setVisible(False)
  22. def text(self):
  23. return self.__text
  24. def paintEvent(self, event):
  25. for shape in self.shapes:
  26. qpt = QPainter()
  27. qpt.begin(self)
  28. shape.drawShape(qpt)
  29. qpt.end()
  30. def mousePressEvent(self, ev):
  31. index=self.counter
  32. if ev.button()==1:
  33. self.shapes[index].addPoint(ev.pos())
  34. if ev.button()==2:
  35. self.shapes[index].setFill(True)
  36. self.counter=index+1
  37. self.shapes.append(shape('one',QColor(0,255,0)))
  38. self.repaint()
  39. if __name__ == "__main__":
  40. import sys
  41. text = "text"
  42. app = QApplication(sys.argv)
  43. form = LabelMeWindow(text)
  44. form.show()
  45. app.exec_()