PySide e Qt

174 views
Skip to first unread message

Régis Silva

unread,
Apr 24, 2014, 5:12:21 PM4/24/14
to python...@googlegroups.com
Pessoal, estou precisando aprender PySide e Qt, por onde começo? Links?
Dá pra trabalhar com a ideia de MVC nele?
Preciso de um link de tutorial bacana pra começar do zero.
Só sei Django por enquanto, mas to precisando aprender um pouco de Desktop tb, por isso acho que PySide e Qt seria uma boa escolha.
É isso mesmo?

Régis

Anderson Livramento

unread,
Apr 24, 2014, 5:35:58 PM4/24/14
to python...@googlegroups.com
Régis,


>Pessoal, estou precisando aprender PySide e Qt

Legal, andei brincando com ele um tempo atrás e por coincidência voltei a mexer neste projetinho ainda ontem, mas é só brincadeira mesmo, pra aprender, minha atividade principal é web (Pylons).

> por onde começo? Links?

> Preciso de um link de tutorial bacana pra começar do zero.

Eu comecei por aqui [1] e aqui [2]


> Dá pra trabalhar com a ideia de MVC nele?

Imagino que sim, vai depender de como vc vai estruturar o seu projeto. Me corrijam se eu estiver errado, mas como MVC é uma metodologia de desenvolvimento, acho que você pode aplicá-la em qualquer framework, tecnologia...


>Só sei Django por enquanto, mas to precisando aprender um pouco de Desktop tb, por isso acho que PySide e Qt seria uma boa >escolha.
>É isso mesmo?

Rapaz, sei não, eu escolhi aprender o PySide por 2 motivos:

1) Por causa da licença. O PyQT só é livre para projetos livres, para uso comercial tem que comprar a lincença e como eu não sabia se um software feito para uso interno na empresa podia caracterizar "uso comercial", resolvi aprender um framework GPL/LGPL;

2) Porque, se não me falha a memória, ele foi desenvolvido (ou tinha a participação) de um brasileiro, que trabalhava no Instituto Nokia de tecnologia, inclusive, foi através dele que fiquei conhecendo o framework. Infelizmente não lembro o nome dele agora, mas lembro que ele também fez um programinha bem bacana para gerar personagens, mapas, etc, para um jogo de RPG.

Espero ter ajudado

--
 .''`.  Anderson R. Livramento
: :'  : Florianopolis - Santa Catarina - Brasil
`. `'`  GNU/Linux user #339026 - http://linuxcounter.net
  `-

Régis Silva

unread,
Apr 24, 2014, 5:44:11 PM4/24/14
to python...@googlegroups.com
Anderson, qual é o nome do que é GPL então?
Valeu pela ajuda.

Anderson Livramento

unread,
Apr 24, 2014, 11:35:02 PM4/24/14
to python...@googlegroups.com
Régis,

>Anderson, qual é o nome do que é GPL então?

Então,

PyQT [1], é GPL e tem uma licença comercial

PySide [2], é LGPL.

Helder

unread,
Apr 25, 2014, 7:47:50 AM4/25/14
to python...@googlegroups.com
Régis, é facil vc descobrir qual é GPL e qual não é.

Para achar material para começar, o Google é seu amigo, nunca se esqueça.
No Youtube tb tem muitos tutoriais.

Duas buscas que não vão custar nada!


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Att,
Helder C. R. de Oliveira
EESC/Universidade de São Paulo
http://helderc.net

Kayro

unread,
Apr 25, 2014, 9:21:51 AM4/25/14
to python...@googlegroups.com
Particularmente acho a documentação do PySide bem complexa! Quando precisei usar o framework o que me ajudou no início foram os códigos de exemplo: https://github.com/PySide/Examples 


Anderson Livramento

unread,
Apr 25, 2014, 10:57:58 AM4/25/14
to python...@googlegroups.com
Kayro,


>Particularmente acho a documentação do PySide bem complexa! Quando precisei usar o framework o que me ajudou no início foram os códigos de exemplo: https://github.com/PySide/Examples

Valeu pelo link, esse eu ainda não tinha visto.

Realmente a documentação é bem complexa, e na minha opinião, meio confusa as vezes. Quando eu estava fazendo o projetinho teste, consultava o help do QTDesinger sobre o widget que eu queria, que era em C++, e depois dava uma olhada na documentação do PySide sobre o mesmo widget.

E tem o lance de poder usar o QTDesigner, apesar que o PySide tem um mecanismo no estilo libglade (de criar os objetos da interface diretamente do XML gerado, o arquivo .ui), parece que ainda não está muito funcional (não usei ainda). Então cada vez que vc faz alguma alteração na interface via QTDesigner tem que rodar o aplicativo pyside-uic (e o pyside-rcc se vc criou algum resource file) para ele gerar um módulo (um arquivo .py) com uma classe que implementa toda a interface.

Helder

unread,
Apr 25, 2014, 12:19:48 PM4/25/14
to python...@googlegroups.com
Anderson,

É possível chamar, do seu código, os widgets diretamente no .ui, sem haver a necessidade de rodar
qualquer programa para gerar o .py referente a interface.


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Anderson Livramento

unread,
Apr 25, 2014, 7:59:17 PM4/25/14
to python...@googlegroups.com
Helder,



É possível chamar, do seu código, os widgets diretamente no .ui, sem haver a necessidade de rodar
qualquer programa para gerar o .py referente a interface.



Usando o QUILoader[1]? Parece promissor. Depois vou testá-lo e verificar como fica quando se usa resources files, com imagens, icones, etc. Nessa thread do Stackoverflow [2], tem uma resposta mais no final onde o cara posta um exemplo utilizando o módulo "pysideuic" e ElementTree, fazendo basicamente o que o pyside-uic faz, só que dentro do seu próprio código.

Abraços.

[1] http://pyside.github.io/docs/pyside/PySide/QtUiTools/QUiLoader.html
[2] http://stackoverflow.com/questions/4442286/python-code-genration-with-pyside-uic

Jotagê Sales

unread,
Apr 25, 2014, 8:30:58 PM4/25/14
to python...@googlegroups.com
e ae Regis , blza brother.

seguinte: em outro tópico aqui da comunidade disponibilizei o link do video
falando sobre PyQt.

dá uma olhada ai pode te ajudar


grande abraço


Em quinta-feira, 24 de abril de 2014 18h12min21s UTC-3, Régis Silva escreveu:

Helder

unread,
Apr 26, 2014, 12:45:02 PM4/26/14
to python...@googlegroups.com
Anderson, veja o código do link[1]

Lá, na minha interface (MainWindow.ui) eu tenho um widget chamado edtTexto.
Após a leitura do ui eu consigo acessar os widgets através do self.edtTexto.

Não me recordo com certeza, mas dá para fazer basicamente o mesmo esquema
para se utilizar um arquivo de recursos.

Entendeu?


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Cauê Beloni

unread,
Apr 26, 2014, 9:24:10 PM4/26/14
to python...@googlegroups.com
 Muito bom os códigos de exemplos enviado pelo Kayro, valeu!

Alguém sabe se há coleção parecida para o Qt?


Cauê Beloni

Helder

unread,
Apr 27, 2014, 12:12:00 PM4/27/14
to python...@googlegroups.com
O próprio SDK do Qt vem com códigos de exemplo.

Anderson Livramento

unread,
Apr 28, 2014, 11:42:53 AM4/28/14
to python...@googlegroups.com
Helder,



>Anderson, veja o código do link[1]
Lá, na minha interface (MainWindow.ui) eu tenho um widget chamado edtTexto.
Após a leitura do ui eu consigo acessar os widgets através do self.edtTexto.

Não me recordo com certeza, mas dá para fazer basicamente o mesmo esquema
para se utilizar um arquivo de recursos.

Entendeu?

Hum, só para ter certeza, nós estamos falando de PySide, no seu link do pastebin os imports são:

from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.uic import *

Esse foi um engano de digitação? Confesso que não testei o código, então não sei se trocar o PyQt4 por PySide vai dar o mesmo resultado, porque, se não me engano, os módulos QtGui e QtCore também existem no PySide (talvez até por questões de padronização e facilitar alguma migração do PyQt para o PySide).

Abraços.

Helder

unread,
Apr 28, 2014, 11:49:17 AM4/28/14
to python...@googlegroups.com
Olá Anderson.

Sim, como vc notou o meu código usa PyQt e não PySide.
Não tenho certeza pq nao testei, mas como os dois bindings funcionam quase que de maneira identica
acredito que é perfeitamente possível fazer uso do mesmo conceito (leitura do .ui) no PySide.

Como eu disse, não testei e tb nunca usei o PySide, mas pelos códigos que vi os dois bindings são bem parecidos.

Até mais.

Att,
Helder C. R. de Oliveira
EESC/Universidade de São Paulo
http://helderc.net



--

Anderson Livramento

unread,
Apr 28, 2014, 12:37:05 PM4/28/14
to python...@googlegroups.com
Helder,

Então, testei rapidamente aqui, e o módulo "uic" (que imaginava ser onde a função "loadUi" estava implementada) não existe no PySide. Fazendo uma pesquisa rápida, achei essa thread [1] que me levou a esse código [2], com uma implementação que se propõe a fazer a mesma coisa que a função "loadUi" do PyQt4, utilizando a classe QUiLoader do PySide.QUiTools.

De quebra vi que o PySide tem um decorator para facilitar o uso dos "Slots". Vou dar um estudada nisso depois.

Helder

unread,
Apr 28, 2014, 1:16:11 PM4/28/14
to python...@googlegroups.com
Nossa, que pena que o PySide nao tem isso!

Quanto ao decorator para slots, o PyQt tem.

Boa sorte ae.

Flw.

Att,
Helder C. R. de Oliveira
EESC/Universidade de São Paulo
http://helderc.net



--

Diego Miranda

unread,
Apr 28, 2014, 3:06:43 PM4/28/14
to python...@googlegroups.com
Fala Régis, 

Brother, já deu uma olhada no wxPython[1]? Já desenvolvi aplicações desktop com ele e recomendo. Só não sei te dizer se é melhor, pior ou igual ao PyQt pois esse nunca usei. Dê uma olhada nele e faça uma comparação e veja qual melhor irá lhe atender.


Grande abraço,
Diego
--
Desenvolvedor Web{ Back-End e Front-End }
@diesousamiranda
22 9 98666424

Diego Miranda

unread,
Apr 28, 2014, 5:52:51 PM4/28/14
to python...@googlegroups.com

Fala Régis, 

Brother, já deu uma olhada no wxPython[1]? Já desenvolvi aplicações desktop com ele e recomendo. Só não sei te dizer se é melhor, pior ou igual ao PyQt pois esse nunca usei. Dê uma olhada nele e faça uma comparação e veja qual melhor irá lhe atender.


(respondi no botão errado heheh)

Grande abraço,
Diego


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo quot;Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages