如何使gtk应用程序全屏显示

时间:2017-05-02 09:08:15

标签: c gtk fullscreen

我正在尝试制作gtk应用程序,它在启动时会全屏显示。用户界面是在空地上制作的,它包含一个MainWindow,框架和一个标签。我需要在标签上显示一些信息,因此必须全屏显示。我有一个大小为1366x768的显示器。我设定了宽度& MainWindow,框架和标签的高度为1366x768。以下是代码:

int main(int argc, char *argv[])
{

GtkBuilder      *builder;
GtkWidget       *window;
GError     *error = NULL;
gtk_init(&argc, &argv);
builder = gtk_builder_new();
if( ! gtk_builder_add_from_file( builder, "UI.glade", &error ) )
{
        g_warning( "%s", error->message );
        g_free( error );
        return( 1 );
}
window = GTK_WIDGET(gtk_builder_get_object(builder, "MainWindow"));
frame1 = GTK_WIDGET(gtk_builder_get_object(builder, "frame1"));
gtk_builder_connect_signals(builder, NULL);
g_signal_connect (window, "delete_event", G_CALLBACK (on_MainWindow_destroy_event), NULL);
label1 = GTK_WIDGET(gtk_builder_get_object(builder, "label1"));
g_object_unref(builder);
GdkColor black = {0, 0x0000, 0x0000, 0x0000};
GdkColor white = {0, 0xFFFF, 0xFFFF, 0xFFFF};
gtk_widget_modify_bg(frame1, GTK_STATE_NORMAL, &black); 
gtk_widget_modify_fg(frame1, GTK_STATE_NORMAL, &white);

gtk_widget_show(window);
gtk_main();
return 0;

}

发布时,它看起来如下:

enter image description here

正如您所看到的那样,窗口不是全屏,因为左侧工具栏和顶部标题栏仍在显示。然后,我阅读了文档,发现我需要包含gtk_window_fullscreen。但它还没有进入全屏模式。任何人都可以告诉我如何使这个窗口全屏。请帮忙。感谢。

3 个答案:

答案 0 :(得分:2)

使用:

gtk_widget_set_size_request (GTK_WIDGET(window), 1366, 768);

缺点,窗口不能缩小到比这更小的尺寸。来自api reference

  

设置小部件的最小大小;也就是小部件的大小请求   至少是高度宽度。您可以使用此功能强制使用   一个比通常更大的小部件。   在大多数情况下,gtk_window_set_default_size()是更好的选择   比这个功能更好的窗户;设置默认大小   仍然允许用户缩小窗口。设置大小请求将   强迫他们离开窗户至少与尺寸要求一样大。

答案 1 :(得分:2)

通过以下方式设置全屏模式:

gtk_window_fullscreen(GTK_WINDOW(window));

答案 2 :(得分:0)

您可以使用Fullscreen来设置void gtk_window_fullscreen ()

gtk_window_fullscreen (GTK_WINDOW(gtk_widget_get_root_window (widget)));

此外,您可以使用Maximize

gtk_window_maximize (GTK_WINDOW(gtk_widget_get_root_window (widget)));

如果要使用GTK#进行设置,请使用:

Fullscreen();

或者:

Maximize();

看看GTK窗口参考:https://developer.gnome.org/gtk2/stable/GtkWindow.html