프로젝트

일반

사용자정보

개정판 2ad601a2

ID2ad601a29a796777e6ea20791c437d73d00aa4a9
상위 e69c2f2f
하위 f81fb80b

GeunHo Song 이(가) 약 2년 전에 추가함

issue #000 Stream 데이터와 그래픽 연계 (완료)

차이점 보기:

HYTOS/HYTOS/FreezeTableWidget.py
58 58
    def fixed_col_count(self, value):
59 59
        self._fixed_col_count = value
60 60

  
61
    def selectionModel_selectionChanged(self, selected, deselected): # real signature unknown; restored from __doc__
62
        from EngineeringStreamlineItem import QEngineeringStreamlineItem
63
        from App import App
64
        if selected.indexes():
65
            selected = selected.indexes()[0]
66
            column_name_stream_no = self.model().headerData(selected.column(), self.horizontalHeader().orientation())  # 열 이름 가져오기
67
            mainWnd = App.mainWnd()
68
            viewer = mainWnd.graphicsView
69
            for item in [con for con in viewer.scene.items() if type(con) is QEngineeringStreamlineItem]:
70
                if item.stream_no_text == column_name_stream_no or item.stream_no == column_name_stream_no:
71
                    rect = item.sceneBoundingRect()
72
                    margins = [rect.width(), rect.height()]
73
                    viewer.zoom_rect(rect.adjusted(-margins[0], -margins[1], margins[0], margins[1]))
74
                    item.setSelected(True)
75
                    #if deselected:
76
                    #    deselected_index = deselected.indexes()[0]
77
                    #    deselected_item = self.model().item(deselected_index.row(), deselected_index.column())
78
                    #    deselected_item.setSelected(False)
79
                    #    deselected_item.update()
80
                    item.update()
81
                else:
82
                    item.setSelected(False)
83
                    item.update()
84
        """ selectionChanged(self, QItemSelection, QItemSelection) """
85
        super(FreezeTableWidget, self).selectionChanged(selected, deselected)
86

  
61 87
    def setModel(self, model: QAbstractTableModel):
62 88
        QTableView.setModel(self, model)
63 89
        self.frozenTableView.setModel(model)
......
70 96
                self.frozenTableView.setColumnHidden(col, True)
71 97
            else:
72 98
                self.frozenTableView.setColumnWidth(col, self.columnWidth(col))
99
        self.selection_model = self.selectionModel()
100
        self.selection_model.selectionChanged.connect(self.selectionModel_selectionChanged)
73 101

  
74 102
    def updateSectionWidth(self, logicalIndex, oldSize, newSize):
75 103
        if logicalIndex in range(self._fixed_col_count):
HYTOS/HYTOS/MainWindow.py
113 113
        return editor
114 114

  
115 115
    def destroyEditor(self, editor, index):
116
        from EngineeringStreamlineItem import QEngineeringStreamlineItem
116 117
        """
117 118
        change background if value is changed
118 119
        @param editor:
......
124 125
            changed = editor.currentText()
125 126
        else:
126 127
            changed = editor.text()
127
        item = editor.parentWidget().parentWidget().model().item(index.row(), index.column())
128

  
129
        freezeTableWidget = editor.parentWidget().parentWidget()
130
        item = freezeTableWidget.model().item(index.row(), index.column())
128 131
        value = item.data(Qt.UserRole)
129 132

  
130 133
        value_changed = False
......
138 141
        """clear value of other side"""
139 142
        if value_changed:
140 143
            if index.row() == 4:
141
                item = editor.parentWidget().parentWidget().model().item(5, index.column())
144
                item = freezeTableWidget.model().item(5, index.column())
142 145
                item.setText('')
143 146
                item.setBackground(Qt.magenta)
144 147
            elif index.row() == 5:
145
                item = editor.parentWidget().parentWidget().model().item(4, index.column())
148
                item = freezeTableWidget.model().item(4, index.column())
146 149
                item.setText('')
147 150
                item.setBackground(Qt.magenta)
148 151

  
......
266 269

  
267 270
            self.read_settings()
268 271

  
272

  
269 273
            # ToDo..
270 274
            # Menu bar - Admin Hide
271 275
            # Loop Tab Hide
......
3186 3190

  
3187 3191
                model.setHorizontalHeaderLabels(col_names)
3188 3192
                self.tableWidgetHMB.setModel(model)
3189

  
3190 3193
                self.tableWidgetHMB.resizeColumnsToContents()
3191 3194
                self.tableWidgetHMB.resizeRowsToContents()
3195

  
3192 3196
        except Exception as ex:
3193 3197
            message = f"error occurred({repr(ex)}) in {sys.exc_info()[-1].tb_frame.f_code.co_filename}:" \
3194 3198
                      f"{sys.exc_info()[-1].tb_lineno}"

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)