我正在尝试制作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;
}
发布时,它看起来如下:
正如您所看到的那样,窗口不是全屏,因为左侧工具栏和顶部标题栏仍在显示。然后,我阅读了文档,发现我需要包含gtk_window_fullscreen。但它还没有进入全屏模式。任何人都可以告诉我如何使这个窗口全屏。请帮忙。感谢。
答案 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