我正在使用 Qt 绘制一些数据可视化。我有线条表示时间轴上的某些重要点,但我希望能够从视图中删除这些线条,以便更清楚地看到下面的信息。
我了解如何将它们从视线中移除,但问题是如何QGraphicsItems
在场景视图中找到哪些是线条,哪些不是。
我试过使用
try {
qgraphicsitem_cast<QGraphicsLineItem>(scene->items()[i]);
} catch (...) {
}
但这甚至无法编译。我尝试检查qgraphicsitem_cast()
if is 的输出0
,但编译器也不喜欢这样。
这是我最新的代码:
void Plotter::showHideLines() {
int i;
QGraphicsLineItem l;
for (i = 0; i < scene->items().count(); i++) {
try {
qgraphicsitem_cast<QGraphicsLineItem>(scene->items()[i]);
scene->items()[i]->setVisible(!scene->items()[i]->isVisible());
} catch (...) {
}
}
}
忽略l
,尝试其他方法后我懒得删除它。
我对 Qt 很陌生,最近几天我才开始学习它。有人可以帮忙吗?