{"id":151,"date":"2007-06-26T22:38:56","date_gmt":"2007-06-27T01:38:56","guid":{"rendered":"http:\/\/www.meiradarocha.jor.br\/news\/2007\/06\/26\/como-instalar-pyqt-no-windows\/"},"modified":"2009-06-20T19:23:54","modified_gmt":"2009-06-20T22:23:54","slug":"como-instalar-pyqt-no-windows","status":"publish","type":"post","link":"https:\/\/meiradarocha.jor.br\/news\/2007\/06\/26\/como-instalar-pyqt-no-windows\/","title":{"rendered":"Como instalar PyQt 4.2 no Scribus Windows"},"content":{"rendered":"<p>Para fazer novas paletas de ferramentas no programa de <strong>desktop publishing<\/strong> <strong>Scribus<\/strong>, pode-se usar as bibliotecas gr\u00e1ficas multiplataforma <strong>Qt<\/strong>. Essas bibliotecas servem para se produzir bot\u00f5es, barras de ferramentas, listas e outros elementos gr\u00e1ficos comumentes encontrados em ambientes gr\u00e1ficos de computador. Para usar o <strong>Qt<\/strong>, deve-se instalar o &#8220;empacotador&#8221; (wrapper) do <strong>Python <\/strong>para <strong>Qt<\/strong> (PyQt). Assim, a linguagem script interna do <strong>Scribus <\/strong>pode usar todos os ricos elementos gr\u00e1ficos para controle de programas.<!--more--><\/p>\n<p>Em ambientes <strong>Linux<\/strong>, instalar novos m\u00f3dulos no Python do Scribus \u00e9 f\u00e1cil, pois o <strong>Scribus <\/strong>usa o <strong>Python <\/strong>normal do sistema. O que estiver instalado no <strong>Python<\/strong>, o <strong>Scribus <\/strong>usa. Em Windows, no entanto, a coisa se complica. O <strong>Scribus <\/strong>para Windows usa um <strong>Python <\/strong>pr\u00f3prio, bem enxuto. Para instala\u00e7\u00e3o de novos m\u00f3dulos, deve-se ter alguns cuidados.<\/p>\n<p>Eu consegui instalar as bibliotecas seguindo estes passos:<\/p>\n<ol>\n<li>Baixei e instalei o <a href=\"http:\/\/www.python.org\/download\/\" title=\"P\u00e1gina de download do Python\">Python 2.4 para Windows<\/a>.<\/li>\n<li>Baixei e instalei as <a href=\"ftp:\/\/ftp.trolltech.com\/qt\/source\/qt-win-opensource-4.2.3-mingw.exe\" title=\"Link para instalador Qt para Windows, vers\u00e3o 4.2.3\">bibliotecas Qt para Windows, vers\u00e3o 4.2.3<\/a>.<\/li>\n<li>Baixei e instalei as <a href=\"http:\/\/www.riverbankcomputing.com\/Downloads\/PyQt4\/GPL\/PyQt-gpl-4.2-Py2.5-Qt4.2.3.exe\" title=\"Link para baixar o instalador do PyQt 4.2\">bibliotecas PyQt para Windows, vers\u00e3o 4.2.3.<\/a><\/li>\n<\/ol>\n<p>Depois disso, tenho que colocar o conte\u00fado da pasta \\Python25\\Lib\\site-packages\\  para dentro da pasta Scribus, para uso do Python interno deste. Em vez de copiar toda a pasta (coisa que teria de fazer sempre que instalasse novos m\u00f3dulos Python), preferi usar um recurso pouco conhecido do Windows: <strong>jun\u00e7\u00f5es de pastas<\/strong>, ou &#8220;<strong>link simb\u00f3lico<\/strong>&#8221; de pastas, como \u00e9 conhecido este recurso em Unix. Isso cria uma pasta \\Scribus\\lib\\site-packages\\ que na verdade \u00e9 a pasta \\Python25\\lib\\site-packages\\.<\/p>\n<p>Mas aqui surge um problema t\u00edpico da Microsoft: o sistema operacional suporta links simb\u00f3licos, mas n\u00e3o h\u00e1 ferramentas para fazer isso facilmente. <a href=\"http:\/\/www.meiradarocha.jor.br\/news\/2007\/05\/28\/juncoes-os-links-simbolicos-do-windows\/\">Para criar uma jun\u00e7\u00e3o (link simb\u00f3lico) no Windows<\/a>, tive que usar o utilit\u00e1rio <strong>junction<\/strong>, de Mark Russinovich. O download do <a href=\"http:\/\/www.microsoft.com\/brasil\/technet\/sysinternals\/FileAndDisk\/Junction.mspx\" title=\"P\u00e1gina para download do junction\">junction est\u00e1 agora no site da MS<\/a>, que contratou o genial programador.<\/p>\n<p>A linha de comando para criar um link simb\u00f3lico de pasta \u00e9 o seguinte (&#8220;x:&#8221; \u00e9 o seu drive, geralmente &#8220;C:&#8221;):<\/p>\n<pre>junction -s \"x:\\\\Arquivos de programas\\\\Scribus 1.3.4\\\\libsite-packages\" \"x:\\\\Python25\\\\site-packages\"<\/pre>\n<p>Assim, qualquer novo m\u00f3dulo que eu instalar no Python normal ser\u00e1 instalado no Scripter Python do Scribus.<\/p>\n<p>Para verificar se os m\u00f3dulos foram corretamente instalados, entre no console do <strong>Scribus <\/strong>Scripter e digite:<\/p>\n<pre>from PyQt4 import Qt<\/pre>\n<p>Use a tecla <kbd>F9<\/kbd> para rodar o programa. Se tudo correr bem, n\u00e3o dever\u00e1 aparecer nenhuma mensagem.<\/p>\n<p>Na primeira vez que fiz isto, surgiu uma mensagem de erro avisando que o m\u00f3dulo QtDesigner n\u00e3o fora encontrado. Ent\u00e3o, desativei este m\u00f3dulo para ver o que acontece. No arquivo \\Python25\\Lib\\site-packages\\PyQt4\\Qt.py, desativei a linha com o caracter de coment\u00e1rio &#8220;#&#8221;:<\/p>\n<pre># from PyQt4.QtDesigner import *<\/pre>\n<p>O erro sumiu e tudo correu bem. Tenho que investigar se este m\u00f3dulo \u00e9 necess\u00e1rio, e por que ele n\u00e3o estava dispon\u00edvel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para fazer novas paletas de ferramentas no programa de desktop publishing Scribus, pode-se usar as bibliotecas gr\u00e1ficas multiplataforma Qt. Essas bibliotecas servem para se produzir bot\u00f5es, barras de ferramentas, listas [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,15,14,16],"tags":[],"class_list":["post-151","post","type-post","status-publish","format-standard","hentry","category-diagramacao","category-editoracao","category-python","category-scribus"],"_links":{"self":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":0,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/posts\/151\/revisions"}],"wp:attachment":[{"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/media?parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/categories?post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meiradarocha.jor.br\/news\/wp-json\/wp\/v2\/tags?post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}