gpt4 book ai didi

qt - 如何更改 QLineSeries 的 z-index?

转载 作者:行者123 更新时间:2023-12-03 09:38:06 33 4
gpt4 key购买 nike

有什么方法可以为添加到 QChart 的某些 QAbstractSeries 订购 z-index?
似乎 QChart 在内部是这样做的。

最佳答案

Zlevel QtCharts::ChartItem 设置存储在 QtCharts::ChartPresenter 中隐藏在的私密部分QtChart .我们可以通过应用 findChild() 来获得它。方法。ChartPresenter有一个方法来获取它的项目,但你需要知道你将如何区分它们(因为名称被分配给一个系列。)为此目的我使用了 opacity 属性。请记住,在分配新的 时z级 , 场景可以更低(例如 Legend。)

void AppDispatcher::setZLevel(QtCharts::QXYSeries *series)
{
QtCharts::ChartPresenter* present = series->chart()->findChild<QtCharts::ChartPresenter*>();
Q_ASSERT(present);

QList<QtCharts::ChartItem *> items = present->chartItems();

for(QtCharts::ChartItem * item : items){
if(item->opacity() == 0.99) { item->setZValue(QtCharts::ChartPresenter::ZValues::SeriesZValue+3); item->setOpacity(1); }
if(item->opacity() == 0.98) { item->setZValue(QtCharts::ChartPresenter::ZValues::SeriesZValue+2); item->setOpacity(1); }
if(item->opacity() == 0.97) { item->setZValue(QtCharts::ChartPresenter::ZValues::SeriesZValue+1); item->setOpacity(1); }
}
}

关于qt - 如何更改 QLineSeries 的 z-index?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051493/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com