Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GUI-Linux-C-如何管理单击事件? 背景:_C_Linux_User Interface_Events - Fatal编程技术网

GUI-Linux-C-如何管理单击事件? 背景:

GUI-Linux-C-如何管理单击事件? 背景:,c,linux,user-interface,events,C,Linux,User Interface,Events,阅读Linux 64上的一些GUI库 我总是使用库(或者做无头应用程序)。现在,是时候继续前进,完成我的理解了 问题: 我不知道系统是如何知道何时点击gui应用程序上的按钮的 似乎poll/select/epoll有帮助,但我不了解全部情况 以下是我的想法: 当gui被创建时,它知道按钮像素在哪里,因此它将每个按钮像素都附加到事件处理程序(epoll…)上,或者只附加一个回调来响应此应用中的单击 当我单击一个按钮时,epoll调用这个管理单击事件的应用程序的回调。回调将迭代列表以查找按钮 当然,

阅读Linux 64上的一些GUI库

我总是使用库(或者做无头应用程序)。现在,是时候继续前进,完成我的理解了

问题: 我不知道系统是如何知道何时点击gui应用程序上的按钮的

似乎poll/select/epoll有帮助,但我不了解全部情况

以下是我的想法: 当gui被创建时,它知道按钮像素在哪里,因此它将每个按钮像素都附加到事件处理程序(epoll…)上,或者只附加一个回调来响应此应用中的单击

当我单击一个按钮时,epoll调用这个管理单击事件的应用程序的回调。回调将迭代列表以查找按钮

当然,也有一些优化,比如将屏幕分割成多个正方形等

但是,我说的对吗?这是幕后的逻辑吗?X11是否更复杂


谢谢

好的,在你的评论之后:我要咬:

,你是不对的


但是现在这如何增加你的知识呢?

好的,在你的评论之后:我要咬:

,你是不对的


但现在这如何增加您的知识呢?

为什么GUI会成为Linux的一个问题?这不是窗户。请阅读Linux上的各种GUI系统。它们是OSS,所以欢迎您阅读代码和其他可以找到的信息(有很多)。如果您有任何具体问题,请随时提问,但请理解这不是一个教程网站。。。是或否是教程的答案?这关乎全局。为什么GUI会成为Linux的问题?这不是窗户。请阅读Linux上的各种GUI系统。它们是OSS,所以欢迎您阅读代码和其他可以找到的信息(有很多)。如果您有任何具体问题,请随时提问,但请理解这不是一个教程网站。。。是或否是教程的答案?这关乎全局。为什么GUI会成为Linux的问题?这不是窗户。请阅读Linux上的各种GUI系统。它们是OSS,所以欢迎您阅读代码和其他可以找到的信息(有很多)。如果您有任何具体问题,请随时提问,但请理解这不是一个教程网站。。。是或否是教程的答案?事关全局。