您的位置:首页 > 其它

使用GTK+获取屏幕分辨率并设置满屏显示效果

2016-10-08 16:58 369 查看
在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

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

阅读(81) | 评论(0) | 转发(0) |

0
上一篇:PKG CONFIG

下一篇:ATP-GET常用操作

相关热门文章
Win10+Qt5.6+OpenCV3.1__相关...

QEMU源码分析系列(二)

Linux环境变量

欢迎白光药水显示器在ChinaUni...

shell/bash 让vi/vim显示空格,...

test123

编写安全代码——小心有符号数...

使用openssl api进行加密解密...

一段自己打印自己的c程序...

彻底搞定C语言指针详解-完整版...

linux dhcp peizhi roc

关于Unix文件的软链接

求教这个命令什么意思,我是新...

sed -e "/grep/d" 是什么意思...

谁能够帮我解决LINUX 2.6 10...

给主人留下些什么吧!~~

评论热议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐