• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

teckV

Ambiente Gráfico em Python - pyGTK

17 mensagens neste tópico

pyGTK+

Para criar janelas tipo windows formso python requer a biblioteka que mapeia o conhecido GTK para linux... esta biblioteca oferece todos os objectos e funcionalidades para criarem ricos ambientes gráficos em Python... a maior parte dos utilitários com ambiente gráfico para linux são hoje desenvolvidos recorrendo a esta biblioteca

PyGTK provides a convenient wrapper for the GTK library for use in Python programsand takes care of many of the boring details such as managing memory and type casting. When combined with PyORBit and gnome-pythonit can be used to write full featured Gnome applications. Read more

site oficial

http://www.pygtk.org

download pyGTK

http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.8/pygtk-2.8.4.tar.gz

Tutoriais pyGTK+

http://www.pygtk.org/tutorial.html

Referencia pyGTK

http://www.pygtk.org/reference.html

FAQ pyGTK

http://www.async.com.br/faq/pygtk/index.py?req=index

Artigos pyGTK

http://www.pygtk.org/articles.html

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Grande Tópico,

Estava mesmo a percisar lol ... !

Com esse programa, tal como o 'Python-Fonte' a aplicaçao funcionará tanto em Windows como em Linux ou Mac OS ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

têm sido feito grandes avanços a nível de compatibilidade entre sistemas operativos e o Python segue as normas multi-plataforma, mas o mundo não é perfeito e ainda existem alguns problemas que vão encontrar com o dev... mas de uma forma geral e naquilo que não é especifico ao SO uma aplicação feita em Python funciona em multi-plataforma...

deve se ter em atenção às dependências, por exemplo, se usarem o pyGTK têm de criar um programa de instalação (um setup) que instale o pyGTK porque não vêm por default por ex. no windows...

mas é a melhor forma de chegar a multi-plataforma é com linguagens como o Python e Java

Python is distributed under an OSI-approved open source license that makes it free to use, even for commercial

products. It runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm

Handhelds, and Nokia mobile phones. Python has also been ported to the

Java and .NET virtual machines.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
deve se ter em atenção às dependências, por exemplo, se usarem o pyGTK têm de criar um programa de instalação (um setup) que instale o pyGTK porque não vêm por default por ex. no windows...

Ou Seja, Mais Mb's :|

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Atenção que esqueceram-se de dizer que Têm que ter o GTK instalado para poderem correr as aplicacoes que usam gtk. Isto nao usa janelas do windows... usa as do GTK.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol ok entao peço desculpa, já agora explica a diferença sFf :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para correr uma aplicacao que use GTK só precisas do GTK e não do pyGTK.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok... eu esclareço...

o pyGTK é um wrapper para o GTK... e o GTK é um wrapper para as funcionalidades gráficas de baixo nivel, como algumas da funções das tão conhecidas classes MFC para windows.

os ambientes gráficos não são mais do que API´s que disponibilizam funcionalidades de desenho gráfico... eu ainda me lembro quando não havia nada disto, só texto... programei muito num Euro PC da sheneider com um interace gráfico Hercules... um interface gráfico só de texto...

não havia windows, só MS-DOS (acho que o 3.1) e para se correr um jogo tipo Test Drive tinha de usar um emulador de CGA, o simCGA para enganar o interface gráfico e apresentar desenho no ecrã, pois, nativamente só tinha texto e era MonoCromatico, não tinha cores, apenas tons de uma unica cor...

Os primeiro programas que fiz em BASIC, uma das linguagens dos promórdios, para criar um menu tinha de desenhar tudo com linhas e usavam-se os caracteres extendidos tipo o Alt-200, etc... criavam-se sombras com estes caracteres... foi assim que surgiu o grafismo...

BASIC - http://en.wikipedia.org/wiki/BASIC_programming_language

Contrariamente ao que muitos pensam não foi o windows que introduziu o conceito de janelas mas sim a Macintosh...

da WikiPedia...

Macintosh, ou Mac, é o nome dos computadores pessoais fabricados e comercializados pela Apple Computer desde janeiro de 1984. O nome deriva de McIntosh, um tipo de maçã apreciado por Jef Raskin. O Macintosh foi o primeiro computador pessoal a popularizar a interface gráfica (GUI), na época um desenvolvimento revolucionário. Ele é muito utilizado para o tratamento de vídeo, imagem e som.

Artigo completo - http://pt.wikipedia.org/wiki/Macintosh

Com esta evolução passou a ficar disponivel para o programador um série de funções para criar Janelas e interfaces Gráficos e todos os mecanismos inerentes ao seu funcionamento...

A M$ introduziu as classes MFC, que são funções que encapsulam (wrappers) as funcionalidades necessárias para o desenvolvimento de aplicações para sistemas operacionais Windows®. Por outras palavras, as MFC são uma biblioteca de objectos que encapsulam as rotinas Win32, a API nativa do Windows.

Os componentes MFC encapsulam as funcionalidades que se esperam encontrar nas aplicações desenvolvidas para Windows®, tais como as barras de ferramentas (toolbars) e as barras de estado (status bars), as caixas de edição (edit-boxes), as caixas de listas (list-boxes), as caixas combinadas (combo-boxes), os diálogos comuns usados para impressão e pré-visualização da impressão, ler e salvar arquivos, OLE, interfaces de documentos simples ou múltiplos, troca e validação de dados em diálogos, caixas de diálogos, acesso a bases de dados, ajuda sensível ao contexto, etc.

Usando os componentes prontos da MFC os programadores podem criar rapidamente aplicações baseadas em Windows® profissionais. O uso da biblioteca MFC economiza um tempo de desenvolvimento considerável dos programadores.

A versão 4.0 da MFC é integrada com o sistema de desenvolvimento MSVC (Microsoft Visual C++®) versão 4.0

MFC 1.0, MFC 2.0, MFC 2.5, MFC 3.0 e MFC 4.0 são as versões já lançadas das bibliotecas MFC.

artigo completo - http://pt.wikipedia.org/wiki/MFC_%28Microsoft%29

O nosso amigo dizia que temos de ter o GTK para usar o pyGTK o que já está na vossa maquina se usarem uma distro Linux tipo Fedora (Red Hat based) ou qualquer outra com o GNOME. O Desktop GNOME é desenvolvido sobre GTK, sendo que todas as distros que usem o GNOME têm o GTK.

O GTK é uma API para desnho gráfico (Janelas, Butões, Scroll Bars,etc) multiplataforma...

dos autores:

GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites.

GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties.

GTK+ is based on three libraries developed by the GTK+ team:

GLib is the low-level core library that forms the basis of GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.

Pango is a library for layout and rendering of text, with an emphasis on internationalization. It forms the core of text and font handling for GTK+-2.0.

The ATK library provides a set of interfaces for accessibility. By supporting the ATK interfaces, an application or toolkit can be used with such tools as screen readers, magnifiers, and alternative input devices.

GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development.

Site Oficial GTK - http://www.gtk.org

Site Oficial Fedora Core 5 - http://fedoraproject.org/wiki/

Mas infelizmente a IT segiu caminhos diferentes, por um lado o mundo Unix/Linux e outro a M$, portanto na maior parte dos casos temos aproximações diferentes nos SO´s o que dificulta o trabalho do programador e é por isso que tens de instalar no windows os componentes referentes ao GTK e ao pyGTK, mas SÓ EM WINDOWS, porque o windows usa outra API...

Mas isto é o pão nosso de cada dia ter de fazer um setup e instalar as API´s que usamos, não sei que confusão isso faz...problemas de espaço em disco? A banda larga é curta?

vejam este tópico para ver os Instalers para Python - http://www.portugal-a-programar.pt/index.php?showtopic=510

Horus nimda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Epa.... o GTK... carago... acho k li algure que foi desenvolvido para o GIMP utilizando n sei o que do gnome....

tenho k ver isso melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Yaps.... tenho razao :)

GTK+ was initially developed for and used by the GIMP, the GNU Image Manipulation Program. Therefore, it is named "The GIMP Toolkit", so that the origins of the project are remembered. Today GTK+ is used by a large number of applications, and is the toolkit used by the GNU project's  GNOME desktop.

in www.gtk.org

foi desenvolvido para o gimp e usado pelo gnome mais tarde. já agora... alguem experimentou o tal glade gui builder de que o site fala?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

reavivei este tópico, pois andei a ler umas coisas sobre python e pareceu-me uma linguage facil.

epa... alguem já fez um GUI com python?

que ferramentas usaram? usaram o GTK?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se analisares este tópico tens toda a info sobre graphicos com widgets.. são tipo as MFC para o windows

GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites.

GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties.

GTK+ is based on three libraries developed by the GTK+ team:

GLib is the low-level core library that forms the basis of GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.

Pango is a library for layout and rendering of text, with an emphasis on internationalization. It forms the core of text and font handling for GTK+-2.0.

The ATK library provides a set of interfaces for accessibility. By supporting the ATK interfaces, an application or toolkit can be used with such tools as screen readers, magnifiers, and alternative input devices.

GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development.

podes o usar o pyGTK que é uma API python wrapper para o GTK... o python segue a filosofia de wifgets normal no dev sobre linux...

recursos web sobre pyGTK

ferramentas há varias mas o que queres deve ser um IDE - Análise de 6 IDE´s python

http://www.portugal-a-programar.pt/index.php?showtopic=

Site Official - PyGTK: GTK+ for Python

http://www.pygtk.org/

aqui encontras tudo, ferramentas, documentos, etc

tutorial:

http://www.moeraki.com/pygtktutorial/pygtk2tutorial/

um exemplo para verem o que se fala

http://www.moeraki.com/pygtktutorial/pygtk2tutorial/examples/simpleaction.py

 #!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk

class SimpleAction:
    def __init__(self):
        # Create the toplevel window
        window = gtk.Window()
        window.set_size_request(70, 30)
        window.connect('destroy', lambda w: gtk.main_quit())

        # Create an accelerator group
        accelgroup = gtk.AccelGroup()
        # Add the accelerator group to the toplevel window
        window.add_accel_group(accelgroup)

        # Create an action for quitting the program using a stock item
        action = gtk.Action('Quit', None, None, gtk.STOCK_QUIT)
        # Connect a callback to the action
        action.connect('activate', self.quit_cb)

        # Create an ActionGroup named SimpleAction
        actiongroup = gtk.ActionGroup('SimpleAction')
        # Add the action to the actiongroup with an accelerator
        # None means use the stock item accelerator
        actiongroup.add_action_with_accel(action, None)

        # Have the action use accelgroup
        action.set_accel_group(accelgroup)

        # Connect the accelerator to the action
        action.connect_accelerator()

        # Create the button to use as the action proxy widget
        quitbutton = gtk.Button()
        # add it to the window
        window.add(quitbutton)

        # Connect the action to its proxy widget
        action.connect_proxy(quitbutton)

        window.show_all()
        return

    def quit_cb(self, b):
        print 'Quitting program'
        gtk.main_quit()

if __name__ == '__main__':
    sa = SimpleAction()
    gtk.main()

teckV

house of horus

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora