Skip to content

alexandrebarbaruiva/gui-python-gtk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arquitetura do GTK 4

Criando interfaces gráficas com Python (PyGObject) e Gtk

natorsc - gui-python-gtk   stars - gui-python-gtk   forks - gui-python-gtk

Please do not theme this app

License MIT

Matrix

Descrição

Repositório criado para documentar e centralizar conteúdos, dicas, tutoriais e exemplos de código sobre a construção de interfaces com a linguagem de programação Python e o toolkit gráfico Gtk.


Status do projeto

🚧 Em construção 🚀


🛠 Tecnologias utilizadas

Até o presente momento as seguintes tecnologias estão sendo utilizadas na construção do projeto:

Python   PyGObject   Gtk   Gnome   Flatpak


Autor

Feito com 💙 por Renato Cruz 🤜🤛 Entre em contato!

E-mail   WhatsApp

Uma das playlist que costumo ouvir quando estou estudando ou "codando":

Spotify

Sempre que possível escrevo tutoriais no meu blog pessoal:

Blog

Doações

Ko-Fi

Ko-Fi

Pix

drawing

Chave: b1839493-2afe-484d-9272-82a3e402b36f


Tabela de conteúdos


Pre-requisitos

Tutoriais

Microsot Windows

Distribuições Linux


Links uteis

Documentação

Softwares

Depuração

RAD

IDEs

Icons


Sobre o Gtk

O GTK é um toolkit multiplataforma para a criação de interfaces gráficas.

O mesmo utiliza licença GNU LGPL, o que permite a sua utilização para construção de softwares que sejam livres ou proprietários.

Foi desenvolvido inicialmente para o GIMP (GNU Image Manipulation Program), por isso foi batizado de GIMP Toolkit ou simplesmente GTK.

Originalmente criado por, Peter Mattis, Spencer Kimball e Josh MacDonald.

O GTK é comumente utilizado na elaboração de aplicativos para o ambiente de desktop GNOME, contudo por ser multiplataforma pode ser executado sem problemas em diversos sistemas operacionais e ambientes gráficos.

O toolkit é escrito em C e o seu design é orientado a objeto com base no sistema de objetos da biblioteca GLib.

Existe o suporte a diversas linguagens de programação (bindings), contudo as linguagem que são suportadas oficialmente (até o momento que escrevo) são:

Sempre que possível de preferencia por iniciar um projeto utilizando o Gnome Builder.

🚨 O Gnome Builder não está disponível para Microsoft Windows.


Gtk 4

O GTK 4 foi lançado em 16 de dezembro 2020.

No GTK 4 é desencorajado o uso do Gnome Glade, isso porque o Gnome Builder fornece uma forma padronizada e moderna de se criar e gerenciar os projetos.

Arquitetura

Arquitetura do GTK 4

bibliotecas:

GLib é uma biblioteca central de baixo nível que forma a base do GTK. Ele fornece manipulação de estrutura de dados para C, wrappers de portabilidade e interfaces para funcionalidade de tempo de execução como um loop de eventos, threads, carregamento dinâmico e um sistema de objetos.

Pango é uma biblioteca para layout e renderização de texto com ênfase na internacionalização. Ele forma o núcleo do manuseio de texto e fonte para GTK.

Cairo é uma biblioteca para gráficos 2D com suporte para vários dispositivos de saída (incluindo o X Window System, Win32) ao mesmo tempo em que produz uma saída consistente em todas as mídias, aproveitando a aceleração do hardware de exibição quando disponível.

GdkPixbuf é uma biblioteca para carregar ativos gráficos como ícones em vários formatos, como PNG, JPEG e GIF.

ATK é uma biblioteca para um conjunto de interfaces que fornecem acessibilidade. Ao suportar as interfaces ATK, um aplicativo ou kit de ferramentas pode ser usado com ferramentas como leitores de tela, ampliadores e dispositivos de entrada alternativos.

Gtk 4 Widgets

Python e GTK4: Gtk.ApplicationWindow

🚜 Em construção 🚧.


GTK 4 Libadwaita

Python e GTK4: Libadwaita

🚜 Em construção 🚧.

A libadwaita deve estar disponível a partir do Gnome 41 ou 42, a mesma vem para substituir a biblioteca libhandy.

Libadwaita instalacao

Arch Linux

sudo pacman -S libadwaita

📝 Se o sudo não funcionar faça login como root e faça a instalação se o sudo.

Fedora

🚨 Fedora 35 ou superior.

sudo dnf install libadwaita-devel

openSUSE Tumbleweed

sudo zypper install libadwaita-devel

Microsoft Windows

pacman -S mingw-w64-x86_64-libadwaita

Libadwaita widgets

  • Adw.ActionRow.
  • [Adw.animation].
  • [Adw.ApplicationWindow].
  • Adw.Avatar.
  • [Adw.Bin].
  • Adw.Carousel.
  • Adw.CarouselIndicatorDots.
  • Adw.CarouselIndicatorLines.
  • [Adw.ClampLayout].
  • [Adw.ClampScrollable].
  • [Adw.Clamp].
  • [Adw.ComboRow].
  • [Adw.DeprecationMacros].
  • [Adw.EnumListModel].
  • [Adw.EnumValueObject].
  • [Adw.Enums].
  • [Adw.ExpanderRow].
  • Adw.Flap.
  • [Adw.HeaderBar].
  • [Adw.Leaflet].
  • [Adw.Main].
  • [Adw.NavigationDirection].
  • [Adw.PreferencesGroup].
  • [Adw.PreferencesPage].
  • [Adw.PreferencesRow].
  • [Adw.PreferencesWindow].
  • SplitButton.
  • [Adw.Squeezer].
  • [Adw.StatusPage].
  • [Adw.SwipeGroup].
  • [Adw.SwipeTracker].
  • [Adw.Swipeable].
  • [Adw.Types].
  • [Adw.ValueObject].
  • [Adw.Version].
  • [Adw.ViewSwitcherBar].
  • [Adw.ViewSwitcherTitle].
  • [Adw.ViewSwitcher].
  • [Adw.WindowTitle].
  • [Adw.Window].

Distribuição

📝 Até o momento em que escrevo a melhor forma de se distribuir um aplicativo feito com a linguagem de programação Python e o toolkit gráfico Gtk 4 é utilizando o Gnome Builder juntamente com Flatpak.

Gerar executáveis


Descontinuado (deprecated)

Exemplos de código e bibliotecas que não estão recebendo mais atualização neste repositório.


About

Criando interfaces gráficas com Python (PyGObject) e GTK.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.9%
  • Other 0.1%