簡體   English   中英

如何在 C 中為 gtk 窗口獲取 gdk 窗口?

[英]How do I get the gdk window for a gtk window in C?

我正在嘗試將光標設置為手表。 問題是 gdk_set_cursor() 需要一個 gdk_window。

如何在 C 中獲取 gtk_window 的 gdk_window? 我看過 gtkmm 和 pygtk 的示例,但找不到相應的 C 函數。

GdkWindow *gdk_window = gtk_widget_get_window(GTK_WIDGET(gtk_window));

或者,在GTK 2.14之前,但現在不允許:

GdkWindow *gdk_window = gtk_window->window;

在我的例子中,gdk_window_set_cursor 不起作用,因為 gtk_widget_get_window 返回了一個無效句柄,因為它尚未實現。 在窗口可見后移動這些線為我解決了這個問題。

來自文檔:

... 比如 widget->window 會在一個 widget 實現的時候創建。 通常實現是隱式發生的; 如果您顯示一個小部件及其所有父容器,那么該小部件將被實現並...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM