GTK的訊息流說明(X Window做後端的情況)
1. 初始化時,GDK向mainloop註冊一個事件源(gdkevents-x11.c:gdk_events_init),讓mainloop掛到X Window的socket上。
2. GTK呼叫GDK的gdk_event_handler_set函式設定事件處理函式(gtkmain.c: do_pre_parse_initialization)gtk_main_do_event。
3. 當有X Window事件過來時,mainloop呼叫事件源的事件分發函式gdk_event_dispatch。
4. gdk_event_dispatch中呼叫gdk_event_translate把Xevent轉換成GdkEvent,並放到Gdk的訊息佇列中。
5. gdk_event_dispatch中從GDK的訊息佇列中取出事件,並呼叫gtk設定的事件處理函式gtk_main_do_event。
6. gtk_main_do_event中呼叫gtk_get_event_widget得到事件的Widget,然後呼叫相應widget函式。
7. widget函式裡呼叫各控制元件過載的函式或者所註冊的事件處理函式。
8. 這樣,事件就到達了你所connect的回撥函式裡。
相關文章
- WINDOWS訊息說明 (轉)Windows
- 【X$VIEW】X$部分視訊說明View
- 後端做了負載均衡的情況下,前端怎麼做分片上傳檔案?後端負載前端
- Delphi主訊息迴圈研究(Application.Run和Application.Initialize執行後的情況)APP
- IOS 推送訊息 php做推送服務端iOSPHP服務端
- RabbitMQ-如何保證訊息在99.99%的情況下不丟失MQ
- fastadmin 偽靜態nginx 無法訪問後端的情況ASTNginx後端
- Window 訊息大全使用詳解
- 使用 Angular Universal 進行伺服器端渲染避免 window is not defined 的錯誤訊息Angular伺服器
- PostgreSQL中客戶端連線到伺服器端之後產生的程式情況SQL客戶端伺服器
- X window遠端登入(轉)
- SpringBoo2 在使用WebFlux的情況下的後端國際化SpringWebUX後端
- vue中下載excel的使用,後端連結兩種情況,一個是連結,一個是檔案流VueExcel後端
- 訊息推送背後的思考
- 切換歸檔模式後後臺程式的情況模式
- 用Excel做資料說明――抽樣說明工具Excel
- [轉]MQ詳解以及各種訊息中介軟體說明MQ
- 在沒有上傳伺服器端的情況下看到上傳圖片的效果圖window.createObjectURL伺服器Object
- 訊息佇列之事務訊息,RocketMQ 和 Kafka 是如何做的?佇列MQKafka
- 不用vuex的情況下,隔代元件間的通訊Vue元件
- 知道 Redis-Cluster 麼?說說其中可能不可用的情況Redis
- Storm概念學習系列之Stream訊息流 和 Stream Grouping 訊息流組ORM
- Nginx+upstream針對後端伺服器容錯的配置說明Nginx後端伺服器
- EMQ X MQTT 5.0 伺服器的保留訊息與訊息過期間隔MQQT伺服器
- 五分鐘學後端技術:如何學習後端工程師必學的訊息佇列後端工程師佇列
- Nginx部署前後端分離服務以及配置說明Nginx後端
- iOS APNS推送遠端訊息 java後臺實現iOSJava
- Window X86和X64的區別 Window x64和Window x86是什麼意思
- Kafka(分散式釋出-訂閱訊息系統)工作流程說明Kafka分散式
- 我與訊息佇列的八年情緣佇列
- Oracle 後臺程式 說明Oracle
- 使用Redis做訊息佇列Redis佇列
- 商品詳情 API 返回值說明API
- 在不安裝oracle客戶端的情況下,使用PLSQLOracle客戶端SQL
- IT職場:哪些情況下需要進行詳細的價值流分析?
- .net core 訊息流處理流程
- Oracle 10g 中 X$KCVFH 說明Oracle 10g
- 我最喜歡的程式之間通訊方式-訊息匯流排