mirror of
https://github.com/wassname/sloth.git
synced 2026-06-28 11:54:00 +08:00
69 lines
1.8 KiB
Python
Executable File
69 lines
1.8 KiB
Python
Executable File
#!/usr/bin/python
|
|
import sys, os
|
|
from PyQt4.QtGui import *
|
|
from PyQt4.QtCore import *
|
|
from annotationscene import *
|
|
|
|
class MainWindow(QMainWindow):
|
|
def __init__(self, argv, parent=None):
|
|
QMainWindow.__init__(self, parent)
|
|
|
|
vlayout = QVBoxLayout()
|
|
buttonSelect = QPushButton("Select")
|
|
buttonSelect.clicked.connect(self.clickedSelect)
|
|
vlayout.addWidget(buttonSelect)
|
|
buttonPoint = QPushButton("Point")
|
|
buttonPoint.clicked.connect(self.clickedPoint)
|
|
vlayout.addWidget(buttonPoint)
|
|
buttonLine = QPushButton("Line")
|
|
buttonLine.clicked.connect(self.clickedLine)
|
|
vlayout.addWidget(buttonLine)
|
|
buttonRectangle = QPushButton("Rectangle")
|
|
buttonRectangle.clicked.connect(self.clickedRectangle)
|
|
vlayout.addWidget(buttonRectangle)
|
|
buttonPolygon = QPushButton("Polygon")
|
|
buttonPolygon.clicked.connect(self.clickedPolygon)
|
|
vlayout.addWidget(buttonPolygon)
|
|
|
|
|
|
hlayout = QHBoxLayout()
|
|
self.view_ = QGraphicsView()
|
|
hlayout.addLayout(vlayout)
|
|
hlayout.addWidget(self.view_, 1)
|
|
|
|
self.scene_ = AnnotationScene(self)
|
|
self.view_.setScene(self.scene_)
|
|
|
|
central = QWidget()
|
|
central.setLayout(hlayout)
|
|
self.setCentralWidget(central)
|
|
|
|
def clickedSelect(self):
|
|
self.scene_.setMode(None)
|
|
|
|
def clickedPoint(self):
|
|
self.scene_.setMode({'type': 'point'})
|
|
|
|
def clickedRectangle(self):
|
|
self.scene_.setMode({'type': 'rect'})
|
|
|
|
def clickedLine(self):
|
|
self.scene_.setMode(LINE)
|
|
|
|
def clickedPolygon(self):
|
|
self.scene_.setMode({'type': 'polygon'})
|
|
|
|
|
|
def main():
|
|
app = QApplication(sys.argv)
|
|
|
|
wnd = MainWindow(sys.argv[1:])
|
|
wnd.resize(800,600)
|
|
wnd.show()
|
|
|
|
return app.exec_()
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|
|
|