问题标签 [qt4.6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
216 浏览

c++ - 如何防止 MayBeGesture 状态下的手势超时移除?

我正在使用在 Microsoft Windows 7 上运行的 Qt 4.6.3 实现基于触摸的输入系统。为了将状态机保持在可管理的复杂性,我决定使用框架的手势识别基础设施。我一直在关注手势编程QGestureRecognizer指南,并为每个手势实现并注册了我的派生类。

大多数手势识别器都按预期工作,但有一个例外:我的单指平移暴露了(对我而言)莫名其妙的行为。由于我希望在触发平移手势之前保持一个小的容差窗口,因此初始接触(鼠标或触摸)的事件必须报告MayBeGesture结果,并且只会Qt::GestureStarted通过返回请求向前移动到状态TriggerGesture

这是相关的代码部分:

尽管鼠标和触摸输入的处理方式相同,并且都返回相同的Result-flag,但整体行为是不同的。特别是,当与触摸表面交互时,状态下MayBeGesture的手势会在 3 秒后从手势列表中移除(请参阅 参考资料QGestureManager::timerEvent),这样做显然会抵消其他手势。虽然鼠标手势也从m_maybeGestures-list 中删除,但这不会暴露不良影响。

问题:

  1. 为什么手势会自动从m_maybeGestures-list 中删除?
  2. 有没有办法防止手势从m_maybeGestures-list 中删除?
  3. 为什么从m_maybeGestures-list 中删除手势的处理方式因输入类型而异?
0 投票
1 回答
73 浏览

qt - QT 4.6 版本中的计时器

Qtimer 有什么可能的替代品吗?可能不如 4.7 及更高版本中的 Qtimer 开发,我有 QT4.6.3。我不能偏离/前进,所以我想知道与 4.6 qt 兼容的计时器?

0 投票
1 回答
506 浏览

c++ - 当用户尝试激活 MainWindow 时引发模态 QDialog

我们有一个QMainWindow,其中包含几个使用exec()打开的QDialog,因此是模态的(这是所需的行为)。

现在,当用户打开这些对话框之一时,选择与一些与对话框重叠但与 MainWindow 重叠的外部程序(例如 webbrowser)进行交互,然后尝试返回我们的程序,他无法通过单击来实现由于模态对话框,主窗口的可见区域。为了返回,他需要移动/最小化阻碍 QDialog 视图的其他窗口或使用任务栏激活它。这可能会给人留下程序被冻结的印象(特别是如果已经过了一段时间并且用户不知道打开的对话框)。

在这种情况下,我在主窗口/对话框中重载了各种焦点/鼠标事件以 raise() QDialog,但在显示对话框时单击主窗口时我找不到被激活的事件。有人知道解决方案吗?我认为到目前为止我必须忽略它是一件容易的事。