Publi

  • Cómo crear ventanas semitransparentes en Gtk+-3.0 con GtkMM

    Screenshot 17-02-2016-070256
    Es algo que está muy chulo, y puede hacer que la experiencia de usuario de nuestras aplicaciones sea mucho mejor, además de dar un punto friki si queremos intercalar información de fondo, o queremos hacer una animación, una ventana splash chula mientras arranca nuestro programa, etc.

    Lo que tenemos que hacer es que nuestra ventana se pinte en un contexto RGBA (rojo, verde, azul, alpha), donde alpha es nuestro valor de opacidad.… Leer artículo completo

  • ListView con búsqueda rápida en GTKMM

    Es muy útil cuando listamos elementos en una aplicación proporcionar al usuario una opción de búsqueda rápida. Hacemos la aplicación más amigable con poco esfuerzo extra por nuestra parte.

    El ejemplo que traigo es muy parecido al ejemplo de ListStore, aunque añado la posibilidad de filtrar la lista con el texto introducido en un widget Entry.

    La clave está en crear una columna más en el modelo de datos (c_visible) que determinará si el elemento es visible o no en la lista, y en lugar de hacer que nuestro TreeView siga el modelo por defecto, haremos que siga un modelo filtrado.… Leer artículo completo

  • Fallo al actualizar pango en Gentoo

    Es una tontería, pero a mí me llevó un rato darme cuenta. Tengo mi ordenador de trabajo bastante desactualizado y suelo tener versiones estables de casi todo el software; aunque iba a actualizar gtkmm, que tenía una versión un poco antigua, y ya sabemos… una dependencia lleva a otra, y me encontré que pango no terminaba el emerge.

    Tras un rato mirando logs, descargarme la última versión de pango desde el código fuente y ver que el configure y el make los hace correctamente, me da por observar que en gentoo se introducen varios parches al código fuente y luego se genera otro configure.… Leer artículo completo

  • Creando un navegador web basado en gtkwebkit y gtkmm [Actualizado: 15/11/2010]

    webkitAhora, vamos a ir un poco más allá, aunque los ejemplos están hechos por mí, en parte me he basado un poco en la documentación de gtkmm (recomendable, llena de ejemplos e información interesante de cada widget), aunque ahora voy a utilizar algo de investigación propia.

    El método a seguir será parecido a veces anteriores, un archivo principal, y una clase (con archivos cpp y h). Al compilar el proyecto, ha ocupado entre 45Kb y 60Kb, por lo que para ser un navegador no ocupa demasiado.… Leer artículo completo

  • Un método para gobernarlos a todos. Identificando quién me llama. [ gtkmm ]

    culpablesUna de las características que primero quise probar con Gtk era la posibilidad de crear varios botones, que en su signal_clicked llamaran todos al mismo método, y sea éste el que identifique de dónde viene la llamada. Por ejemplo, en Delphi, siempre que se genera un evento onClick se envía la información del Sender al evento para este mismo propósito.

    En el siguiente ejemplo, crearemos un objeto de la clase Sender (que será nuestra ventana principal)

    [ sendermain.cpp ]

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <gtkmm.h>
    #include "sender.h"

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

      // Creamos la ventana
      Sender swin;

      // Ejecutamos
      entorno.
    Leer artículo completo