使用GTK+获取屏幕分辨率并设置满屏显示效果
2016-07-01 16:57
585 查看
在linux下,经常需要设置程序全屏显示,GTK+中提供了获取屏幕分辨率的方式,然后只要根据得到的宽高设置窗口显示大小,同时使用gtk_window_set_decorated去掉边框和标题栏显示,就能实现相应的效果了。下面程序,就是简单的给出了窗口满屏效果是如何实现的,为保证程序的正常退出,添加了键盘事件,按下Esc键,程序退出。
/*
* Name: full_screen.c
*/
#include <gtk/gtk.h> #include <gdk/gdk.h> #include <gdk/gdkkeysyms.h>
/* the key value defines can be found here */
#include <stdio.h> static void on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { switch(event->keyval) { case GDK_Escape: gtk_main_quit(); break; default: break; } } int main(int argc, char *argv[]) { gtk_init(&argc, &argv);
/* Get the Screen Resolution*/GdkScreen* screen;gint width, height;screen = gdk_screen_get_default();width = gdk_screen_get_width(screen);height = gdk_screen_get_height(screen);printf("screen width: %d, height: %d\n", width, height);/* Create window and set full screen*/GtkWidget *window;window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);gtk_window_set_default_size(GTK_WINDOW(window), width,
height);gtk_window_set_decorated(GTK_WINDOW(window),
FALSE); /* hide the title bar and the boder*/gtk_widget_show (window);
/* add key event for quit*/g_signal_connect(G_OBJECT(window), \"key-press-event", \G_CALLBACK(on_key_press),
NULL);gtk_main();return 0;}
编译执行程序
$ gcc -g `pkg-config --cflags --libs gtk+-2.0` -o full_screen full_screen.c$ ./full_screen |
相关文章推荐
- js如何判断一个对象是array ,instanceof 是基于什么实现的呢?
- Google 的开源技术protobuf 简介与例子
- oracle DML错误日志查看
- 《Thinkinginjava》第12章-异常处理
- Android 自定义View
- ListView显示最后一条Item不完整问题分析
- Altium Designer高级功能初探之:差分布线
- I/O控制方式
- 练习19——函数和变量类型
- 浅谈异常与恋爱
- Git 参考手册
- Gtk开发小结_控件基础
- DataTable 相关操作小助手
- title获得该标签的value
- js实现静态分页
- Android播放器——VitamioPlayer
- nfs 挂载不成功
- nginx 初学者指引
- PL/SQL 9 注册码 期限到9999
- java多线程状态及interrupt()方法