레이아웃에서 ChartViewer를 지울 때 필요하지만, 할 때 마지막 위젯을 삭제할 수 없습니다. 내 레이아웃의 길이를 테스트 할 때 , 나는 0 갔지만 위젯은 그림과 같이, 레이아웃의 업데이트 후 아직 여기있다 :왜 레이아웃입니까, 업데이트하지 않습니까?
여기내 코드 나 삭제, 위젯과
self.charts.append(chartClass(patientStr, exp))
print("\nNew Plot chart ", self.charts[lastIndex].name, " length : ", lastIndex)
listGraphs.append(self.charts[lastIndex].name)
print("list Graphs : ", listGraphs)
self.charts[lastIndex].plotJSON(myData.plot(patientStr, exp))
self.chartVs.append(QChartView(self.charts[lastIndex]))
self.chartVs[lastIndex].setRenderHint(QPainter.Antialiasing)
self.chartLayout.insertWidget(0, self.chartVs[lastIndex])
어떤 제안을 : 그래프 여기
print("proceding to delete chart ", chartName, " at : ", indexGraph)
currentGraph = self.charts[indexGraph]
currentWidget = self.chartVs[indexGraph]
self.chartLayout.removeWidget(currentWidget)
self.chartVs.remove(currentWidget)
currentGraph.clearData()
self.charts.remove(currentGraph)
self.chartLayout.update()
#currentWidget.resetCachedContent()
listGraphs.remove(chartName)
self.refreshListWithOpt(self.chartTree, listGraphs, 1, optGraphs)
와 내가 그래프를 생성하고 레이아웃에 추가하는 코드입니다?
문제는 나를 위해 분명하지 않다입니다. –
Azul agma Ghilas, 내 문제는 마지막 위젯을 삭제할 때 문제가됩니다. 레이아웃에 여전히 남아 있습니다. 심지어 지금까지 내가 한 모든 것조차도 마찬가지입니다. –
시도해보십시오 :'currentWidget.deleteLater()' – eyllanesc