qt - 如何在 qtcharview 内部绘图?
问题描述
我已经设法在 qchartview 顶部画了一些线,如果没有调整窗口大小,它是可以接受的。但是,当我调整大小时,线条不会缩放,如下所示。
如何绘制一条垂直线,使其受当前窗口矩形的约束并在调整窗口大小时进行调整?
void ChartView::mousePressEvent(QMouseEvent *event)
{
if (m_isTouching)
return;
if( event->modifiers() & Qt::ShiftModifier )
{
qreal xVal = chart()->mapToValue(event->pos()).x();
qreal yVal = chart()->mapToValue(event->pos()).y();
QGraphicsLineItem* linex = this->scene()->addLine(0+xVal,50,0+xVal,500);
line.push_back(linex);
line.back()->setFlag(QGraphicsItem::ItemIsMovable);
}
if( event->modifiers() & Qt::ControlModifier)
{
for(auto& item : line)
{
if(this->scene() != NULL )
{
this->scene()->removeItem(item);
}
}
}
QChartView::mousePressEvent(event);
}
解决方案
推荐阅读
- java - 如何读取输出文件以收集统计信息(后)处理
- kubernetes - 卷“config-volume”的 Minikube MountVolume 失败
- database - 当用户更改图像的名称或位置时,如何更改存储在数据库中的图像目录
- azure - 设置变量 [2] 处的 Azure Api 网关错误
- daml - DAML 智能合约使用 JVM 我们可以将其替换为 webbaseembly 吗?
- reactjs - 以 mm/dd/yyyy 格式为“react-datepicker”插入自动斜线
- java - 它说java中错过了2个分支中的1个
- python - 如何打印属于奇异数组的 2 个类变量?
- java - 使 JDialog 始终位于父级(JFrame)之上,但用户仍然可以与父级交互
- android - 如何在 Flutter 中创建录音机应用的波长动画?