gpt4 book ai didi

c++ - Qt4.8中处理鼠标滚轮事件

转载 作者:行者123 更新时间:2023-11-28 05:32:06 25 4
gpt4 key购买 nike

在 Qt5 中,它可以像这样在 QML 中完成。

MouseArea {
onWheel: {
if (wheel.modifiers & Qt.ControlModifier) {
adjustZoom(wheel.angleDelta.y / 120);
}
}
}

如何在Qt4.8中实现同样的功能?

最佳答案

看起来我正在重新发明自行车,但目前它是这样工作的。

我有一个新的 QWidget 可以捕获 wheelEvent 并发送一个新信号。

void WheelEventCarrier::wheelEvent(QWheelEvent *event)
{
emit sendWheelEvent(event->delta()/120);
}

我在 QML 中定义了一个新信号并同上处理它。

signal wheelEvent(int delta)

onWheelEvent:
{
if(delta > 0)
tag_meas_mod.zoomIn(true);
else
tag_meas_mod.zoomOut(true);
}

我将我的小部件包裹在我的所有 UI 周围并连接两个信号。

WheelEventCarrier carrier;
UI.setParent(&carrier);

QObject::connect(&carrier,
SIGNAL(sendWheelEvent(int)),
viewer.rootObject(),
SIGNAL(wheelEvent(int)));

carrier.show();

希望您能指出我更好的解决方案。

关于c++ - Qt4.8中处理鼠标滚轮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39250495/

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