【发布时间】:2020-12-29 05:00:27
【问题描述】:
我的方法差不多是这样的:
Chart.qml:
Window {
ChartView {
id: chartView
// ...
}
Button {
text: "save"
onClicked: manager.save(chartView)
}
}
Manager.py:
class Manager(QObject):
@pyqtSlot(QObject)
def save(self, chartview):
img = chartview.grab()
img.save(MY_DEFAULT_PATH)
当然,问题在于 Manager.save() 内部的图表视图相当于 C++ 的 QObject*,它没有“抓取”方法。但它可以被降级为QChartView*(或至少QWidget*),这种方法具有。在 C++ 中,我可能会使用 qobject_cast。
我的问题是:
- 这种向下转换在 PyQt 中可行吗?
- 如果没有 - 您知道如何以不同的方式完成吗?
【问题讨论】:
标签: python pyqt pyqt5 qml qtcharts