Estoy tratando de hacer una aplicación gtk que, cuando se inicie, pasará a pantalla completa. La interfaz de usuario está hecha en glade y contiene una ventana principal, un marco y una etiqueta. Necesito mostrar cierta información en la etiqueta, por lo que tiene que estar en pantalla completa. Tengo un monitor de tamaño 1366x768. Establecí el ancho y alto de MainWindow, marco y etiqueta en 1366x768. A continuación se muestra el código:

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;

}

Cuando se lanzó, se veía a continuación:

enter image description here

Como puede ver, la ventana no es de pantalla completa porque la barra de herramientas lateral izquierda y la barra de título superior todavía se muestran. Luego leí la documentación y descubrí que necesito incluir gtk_window_fullscreen. Pero todavía no viene en modo de pantalla completa. ¿Alguien puede decirme cómo puedo hacer que esta ventana sea de pantalla completa? Por favor ayuda. Gracias.

3
S Andrew 2 may. 2017 a las 12:08

3 respuestas

La mejor respuesta

Uso:

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

Inconveniente, la ventana no se puede reducir a un tamaño menor que ese. Del referencia api:

Establece el tamaño mínimo de un widget; es decir, la solicitud de tamaño del widget será al menos ancho por alto. Puede usar esta función para forzar que un widget sea más grande de lo que normalmente sería. En la mayoría de los casos, gtk_window_set_default_size () es una mejor opción para ventanas de nivel superior que esta función; establecer el tamaño predeterminado aún permitirá a los usuarios reducir la ventana. Establecer la solicitud de tamaño los obligará a dejar la ventana al menos tan grande como la solicitud de tamaño.

3
José Fonte 3 may. 2017 a las 11:31

Configure el modo de pantalla completa con:

gtk_window_fullscreen(GTK_WINDOW(window));

10
jackw11111 2 mar. 2019 a las 00:37

Puede configurar Fullscreen usando void gtk_window_fullscreen ():

gtk_window_fullscreen (GTK_WINDOW(gtk_widget_get_root_window (widget)));

Además, puede usar Maximize:

gtk_window_maximize (GTK_WINDOW(gtk_widget_get_root_window (widget)));

Si desea configurarlo usando GTK #, use:

Fullscreen();

O:

Maximize();

Eche un vistazo a la referencia de la ventana GTK: https://developer.gnome.org/gtk2 /stable/GtkWindow.html

0
Adlair Cerecedo-Mendez 26 may. 2020 a las 00:46