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

问题描述 投票:3回答:3

我正在尝试制作gtk应用程序,该应用程序在启动时将全屏显示。 UI是在林间空地中制成的,它包含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。但是仍然不能以全屏模式显示。谁能告诉我如何使该窗口全屏显示。请帮忙。谢谢。

c gtk fullscreen
3个回答
3
投票

用途:

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

缺点,不能将窗口缩小到比其小的尺寸。从api reference

设置小部件的最小尺寸;即小部件的尺寸要求将至少为宽度乘以高度。您可以使用此功能强制一个比通常更大的小部件。在大多数情况下,gtk_window_set_default_size()对于顶层窗口比此功能;设置默认大小将仍然允许用户缩小窗口。设置尺寸要求将迫使他们离开窗口的大小至少等于要求的大小。


9
投票

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

gtk_window_fullscreen(GTK_WINDOW(window));


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

© www.soinside.com 2019 - 2024. All rights reserved.