C 如何使用Gtk获得屏幕的大小?
我正试图用一个C Gtk程序获得显示器的尺寸 我看到了这个版本,但这些函数在Gtk 3.22之后被弃用:C 如何使用Gtk获得屏幕的大小?,c,user-interface,gtk,C,User Interface,Gtk,我正试图用一个C Gtk程序获得显示器的尺寸 我看到了这个版本,但这些函数在Gtk 3.22之后被弃用: gint width = gdk_screen_width(); gint height = gdk_screen_height(); 在GdkScreen文档中,我只找到了:“使用每个监视器的信息” 我试图在GdkMonitor或GdkDisplay文档中找到有关这方面的任何信息,但没有成功 唯一类似的功能是: int gdk_monitor_get_width_mm (GdkMoni
gint width = gdk_screen_width();
gint height = gdk_screen_height();
在GdkScreen文档中,我只找到了:“使用每个监视器的信息”
我试图在GdkMonitor或GdkDisplay文档中找到有关这方面的任何信息,但没有成功
唯一类似的功能是:
int gdk_monitor_get_width_mm (GdkMonitor *monitor);
但这不是我想要的
有人知道如何获取这些信息吗?我必须计算出每个监视器的纵横比,但是- Gtk+功能贬值如此之快:但结果是:
GdkRectangle workarea = {0};
gdk_monitor_get_workarea(
gdk_display_get_primary_monitor(gdk_display_get_default()),
&workarea);
printf ("W: %u x H:%u\n", workarea.width, workarea.height);
gdk_monitor\u get_geometry()
和gdk_monitor\u get_workarea()
是否有问题?我是否应该这样做:display=gdk_display\u get_default();监视器=gdk\u显示\u获取\u监视器(显示,0);gdk_监视器_获取_几何体(监视器和r)代码>这样做会在r变量中返回0,0。您可以使用其他API中的函数来获取屏幕大小(如Windows上的GetSystemMetrics
)。您希望通过Gtk?@T.Gros中的函数来实现这一点,看起来还可以。你能展示给你“0,0”的实际代码吗?@jku好吧,我只是个白痴。我打印的是x和y值,而不是宽度和高度,用于GtkRectangle…非常感谢您的回答!我刚刚开始在《朱莉娅》中使用Gtk,但我已经把这一部弄出来了。如果有看不见的错误,请发表评论。我不认识朱莉娅,但最后一个paren应该关闭吗?
using Gtk
win = GtkWindow()
maximize(win)
sleep(0.1)
window = GtkWindow("Title", width(win), height(win))
destroy(win)
maximize(window)
screen size : width(win), height(win