Categories: PythonScribus

Como instalar interface gráfica ttk no Python do Scribus

PAGE usa o Visual Tcl

A linguagem Python — usada como linguagem script do Scribus — tem uma interface gráfica default há muitos anos. É o módulo tkinter, que usa a engine gráfica Tk (toolkit) da linguagem Tcl. A instalação Windows do Scribus, muito bem empacotada, instala automaticamente tanto o Python quanto o Tcl/Tk. O Scribus 1.3.9 para Windows usa Python 2.5.4 e Tcl 8.4, enquanto a versão para Linux usa Python 2.6 e Tcl/Tk 8.5.

[Atualização em 2012-02-14: O Scribus 1.4 usa Python 2.7, que já tem ttk incluído].

Alguns dos problemas do uso desta interface gráfica é que ela é muito complicada de se programar, a GUI é difícil de se desenhar e os “widgets” — botões, campos de entrada, menus etc — são bastantes pobres para os dias atuais. Para facilitar o trabalho com GUIs, foi criado o módulo Tcl ttk (themed tool kit), default a partir de Tcl/Tk 8.5 e Python 2.7 e 3.1.

Tornando ainda mais fácil o desenho de GUI, um programador da HP, Don Rozenberg, turbinou o Visual Tcl com as novas widgets ttk e com um botão para geração e teste de códigos Python. Criou o PAGE, Python GUI Generator.

Embora o Scribus 1.3.9 tenha versões anteriores do Python e Tcl/Tk, é possível se instalar o ttk neste ambiente pelo pacote pyttk do Pyhton e Tile do Tcl.

Instalação do Tile no Tcl do Scribus

Baixei o Tile 0.8.2.zip — o pacote que deu origem ao ttk e ainda é mantido por compatibilidade ao Tcl 8.4 — e descompactei a pasta \tile0.8.2\ para a pasta c:\Arquivos de programas\Scribus 1.3.9\tcl\. Como uso o Python 2.6 para desenvolvimento, também descompactei para a pasta c:\Python26\tcl\. Na parte Tcl/Tk, é só. No Ubuntu 10.10, isto não é necessário, pois o Scribus instala o Tcl/Tk 8.5, que já tem Tile.

Instalação do pyttk no Python

Baixei o zip do pyttk e extraí a pasta pyttk-0.3.2 para c:\Arquivos de programas\Scribus 1.3.9\lib\site-packages\. Através do Scripter do Scribus, menu “Script > Executar script…”, rodei o script setup.py para registrar o ttk no Python. No Ubuntu 10.10, instalei com os comandos no terminal para baixar o pyttk, descompactá-lo, mudar para o diretório descompactado e instalar o módulo no Python:

wget http://pypi.python.org/packages/source/p/pyttk/pyttk-0.3.2.tar.gz
tar -vzxf ./pyttk-0.3.2.tar.gz
cd ./pyttk-0.3.2
sudo python setup.py install

O resultado da instalação, no terminal, foi este:

running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
copying ttk.py -> build/lib.linux-i686-2.6
running install_lib
copying build/lib.linux-i686-2.6/ttk.py -> /usr/local/lib/python2.6/dist-packages
running install_egg_info
Removing /usr/local/lib/python2.6/dist-packages/pyttk-0.3.2.egg-info
Writing /usr/local/lib/python2.6/dist-packages/pyttk-0.3.2.egg-info

Instalação do PAGE

Só o Tile e o pyttk são necessários para se usar GUI no Scribus. Mas, para desenhar as GUI, baixei o PAGE e instalei-o na pasta c:\Python26\. Um ícone no desktop roda o arquivo BAT “c:\Python26\page\winpage.bat”, que modifiquei para “c:\Arquivos de programas\tcl\tclkit.exe c:\Python26\page\page.tcl %1” porque uso o tclkit em vez do Tcl.

Fiz dois pequenos patches no código Tcl gerador de Python, no arquivo c:\Python26\page\lib\python_ui.tcl, para usar caracteres UTF-8 (linha 224) e para o código aceitar o interpretador Python 2.5.4 (linha 230).

#-*- coding: utf-8 -*-

if version >= 0x020504F0 and version < 0x03000000 :
   py2 = True    # Python 2.6 or 2.7 from Tkinter import *
   import ttk

Assim, estou apto a desenvolver interfaces gráficas de complexidade média para a linguagem script do Scribus, como mostra a imagem abaixo.

José Antonio Meira da Rocha

Jornalista, professor das áreas de Editoração e de Mídias Digitais na Universidade Federal de Santa Maria, campus cidade de Frederico Westphalen, Rio Grande do Sul, Brasil. Doutor em Design pelo Programa de Pós-Graduação em Design (PGDesign)/Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, Brasil, 2023. Mestre em Mídias pela UNISINOS, São Leopoldo, RS, Brasil, 2003. Especialista em Informática na Educação, Unisinos, 1976.

Share
Published by
José Antonio Meira da Rocha

Recent Posts

Sempre faça um fotão

Colheita de soja. Foto: Wenderson Araujo/Trilux Fotógrafos de mídias rurais já perderam a conta das…

1 year ago

A corrupção dos tolos

João Batista MezzomoAuditor fiscal O que está por trás de tudo o que está acontecendo…

4 years ago

Naomi who? Naomi Wu!

A.k.a. "SexyCyborg". A mulher do século 21. Naomi Wu testa seu iluminador de implantes na…

5 years ago

Raspagem de dados

A principal ferramenta do jornalista de dados é a planilha, tipo LibreOffice Calc, M.S. Excel…

5 years ago

Que estratégia político-terapêutica pára um governo deliroide?

Rita Almeida, 9 de março de 2019 Psicóloga Rita Almeida: não delirantes, mas deliroides. Não…

6 years ago

Sua tia não é fascista, ela está sendo manipulada

Rafael Azzi5 de outubro de 2018 Você se pergunta como um candidato com tão poucas…

6 years ago