개정판 963885c1
QResultTreeWidget 에서 아이템 클릭 시 기존 StartPoint가 아닌 Symbol 가운데를 기준으로 보이게끔 변경
DTI_PID/DTI_PID/QResultTreeWidget.py | ||
---|---|---|
78 | 78 |
@date 18.04.11 |
79 | 79 |
@history 18.04.12 Jeongwoo Declare self.TREE_DATA_ROLE for QTreeWidgetItem.data(column, role) |
80 | 80 |
18.04.13 Jeongwoo Signal 'singleClicked' emit SymbolSvgItem |
81 |
CenterOn() with Symbol's center |
|
81 | 82 |
''' |
82 | 83 |
lastClickedItem = None |
83 | 84 |
def itemClickEvent(self, item, columnNo, isSvgClick = False): |
84 | 85 |
print("Item " + item.text(0) + " clicked") |
85 | 86 |
svgItem = item.data(0, self.TREE_DATA_ROLE) |
86 | 87 |
self.singleClicked.emit(svgItem) |
88 |
|
|
89 |
if self.lastClickedItem is not None: |
|
90 |
self.scene.removeItem(self.lastClickedItem) |
|
87 | 91 |
|
88 | 92 |
if svgItem is not None: ## Not PID Name |
89 |
if self.lastClickedItem is not None: |
|
90 |
self.scene.removeItem(self.lastClickedItem) |
|
91 | 93 |
## Draw rectangle on selected symbol |
92 | 94 |
graphicItem = self.scene.addRect(svgItem.loc[0], svgItem.loc[1], svgItem.size[0], svgItem.size[1], QPen(QColor(255,255,0,100)), QBrush(QColor(255,255,0,100))) |
93 | 95 |
if isSvgClick == False: |
94 |
self.imageViewer.centerOn(QPointF(svgItem.loc[0], svgItem.loc[1]))
|
|
96 |
self.imageViewer.centerOn(QPointF(svgItem.loc[0] + (svgItem.size[0]//2), svgItem.loc[1] + (svgItem.size[1]//2)))
|
|
95 | 97 |
## Send new event to imageViewer's zoomImage Method |
96 | 98 |
self.imageViewer.zoomImage(True, QMouseEvent(QEvent.MouseButtonPress, self.imageViewer.mapFromScene(QPointF(svgItem.loc[0], svgItem.loc[1])), Qt.LeftButton, Qt.LeftButton, Qt.NoModifier), 3) |
97 | 99 |
self.lastClickedItem = graphicItem |
내보내기 Unified diff