MCPcopy Index your code
hub / github.com/PyQt5/PyQt / ChartWidget

Class ChartWidget

Test/ChartView/ChatWidget.py:179–244  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177
178
179class ChartWidget(QWidget):
180
181 def __init__(self, *args, **kwargs):
182 super(ChartWidget, self).__init__(*args, **kwargs)
183 self.resize(800, 600)
184 layout = QVBoxLayout(self)
185 layout.setContentsMargins(0, 0, 0, 0)
186 self.splitter = QSplitter(self)
187 layout.addWidget(self.splitter)
188 self.splitter.setOrientation(Qt.Horizontal)
189 self.splitter.setStretchFactor(0, 2)
190 self.splitter.setStretchFactor(1, 3)
191 self.splitter.setStretchFactor(2, 5)
192 self.splitter.setAutoFillBackground(True)
193 self.splitter.setChildrenCollapsible(False)
194 self.splitter.setHandleWidth(2)
195 # 分类
196 self.classifyWidget = ClassifyWidget(self)
197 self.splitter.addWidget(self.classifyWidget)
198 # 代码
199 self.codeWidget = CodeWidget(self)
200 self.splitter.addWidget(self.codeWidget)
201
202 # 等待界面
203 self.loadingWidget = LoadingWidget(self, visible=False)
204 self.loadingWidget.resize(self.size())
205
206 # 绑定信号槽
207 self.classifyWidget.fileSelected.connect(self.codeWidget.openFile)
208 self.codeWidget.runSignal.connect(self.onRun)
209
210 def onRun(self, text):
211 self.setEnabled(False)
212 self.loadingWidget.show()
213 # 解析json生成view并添加
214 if hasattr(self, "previewView"):
215 # 删除旧view
216 self.previewView.setParent(None)
217 self.previewView.setVisible(False)
218 self.previewView.hide()
219 self.previewView.deleteLater()
220 del self.previewView
221 self.previewView = self.getChartView(text)
222 if isinstance(self.previewView, QChartView):
223 self.splitter.addWidget(self.previewView)
224 else:
225 QMessageBox.warning(self, "提示", self.previewView)
226 del self.previewView
227 self.setEnabled(True)
228 self.loadingWidget.close()
229
230 def getChartView(self, text):
231 try:
232 return ChartView(text)
233 except Exception as e:
234 return str(e)
235
236 def resizeEvent(self, event):

Callers 1

ChatWidget.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected