c++ - Qt 或任何其他语言。事件循环

标签 c++ qt event-loop qeventloop

我是 Qt 平台上的 C++ 程序员。

我想知道,事件循环如何“知道”向哪个小部件发送事件,主要是鼠标/键盘事件? 是根据鼠标坐标和 z 顺序完成的吗? 来自键盘的事件怎么样?

谢谢

最佳答案

事件循环不知道。这是在其他代码中完成的。

您在键盘上查找的术语是“焦点”。在系统范围内,只有一个窗口具有焦点(或者在多用户系统上,每个键盘至少有一个窗口)。操作系统将击键传送到该窗口。 Qt 只是从 native 窗口句柄中查找 Qt 对象。同样,鼠标点击主要由操作系统处理。

关于c++ - Qt 或任何其他语言。事件循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222954/

相关文章:

c++ - 使用 macports 安装 opencv 并在 qt (osx) 中使用

javascript - Promise.resolve 与 vanilla js 中的 new Promise(resolve)

java - VertxexecuteBlocking 使用事件循环而不是工作线程

c++ - 在释放内存之前总是重新分配内存是否安全 - C++

c++ - 系统调用 creat 的奇怪行为

c++ - 当参数是参数包时,右值引用不起作用

python - 将来在不同的时间启动(非常短的) Action 时如何避免启动数百个线程

c++ - 使用字符串或流?

qt - 将基于 QObject 的类导出到 DLL

c++ - Qt:实现 "oscilloscope-like"实时绘图的最佳方式