learnxinyminutes-docs/pt-br/pyqt.md
2024-12-08 23:21:12 -07:00

89 lines
2.5 KiB
Markdown

---
filename: learnpyqt-pt.py
contributors:
- ["Nathan Hughes", "https://github.com/sirsharpest"]
translators:
- ["Lucas Pugliesi", "https://github.com/fplucas"]
---
**Qt** é amplamente conhecido como um framework para desenvolvimento de
software multi-plataforma que pode rodar em várias outras plataformas de
softwares e hardwares com pouca ou nenhuma alteração no código, enquanto mantém
o poder e a velocidade de uma aplicação nativa. Embora o **Qt** tenha sido
originalmente escrito em *C++*.
Essa é uma adaptação de uma introdução ao QT em C++ por
[Aleksey Kholovchuk](https://github.com/vortexxx192), alguns dos exemplos de
código podem resultar na mesma funcionalidade que essa versão, apenas usando
o pyqt!
```python
import sys
from PyQt4 import QtGui
def window():
# Cria um objeto para a aplicação
app = QtGui.QApplication(sys.argv)
# Cria um widget onde o nosso label será inserido
w = QtGui.QWidget()
# Adiciona um label ao widget
b = QtGui.QLabel(w)
# Informa algum texto ao label
b.setText("Hello World!")
# Define os tamanhos e posições dos objetos
w.setGeometry(100, 100, 200, 50)
b.move(50, 20)
# Define o título da janela
w.setWindowTitle("PyQt")
# Exibe a janela
w.show()
# Executa tudo o que foi pedido, apenas uma vez
sys.exit(app.exec_())
if __name__ == '__main__':
window()
```
Para utilizar mais funcionalidades no **pyqt** veremos a construção de alguns
outros elementos.
Aqui mostraremos como criar uma janela popup, muito útil para perguntar ao
usuário qual decisão tomar ou exibir alguma informação.
```python
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
def window():
app = QApplication(sys.argv)
w = QWidget()
# Cria um botão e o anexa ao widget w
b = QPushButton(w)
b.setText("Press me")
b.move(50, 50)
# Informa b a chamar essa função quando for clicado
# observe que a função chamada não necessita de "()"
b.clicked.connect(showdialog)
w.setWindowTitle("PyQt Dialog")
w.show()
sys.exit(app.exec_())
# Essa função deve criar uma janela de diálogo com um botão,
# aguarda ser clicado e encerra o programa
def showdialog():
d = QDialog()
b1 = QPushButton("ok", d)
b1.move(50, 50)
d.setWindowTitle("Dialog")
# Essa modalidade define que o popup deve bloquear as outras janelas quando ativo
d.setWindowModality(Qt.ApplicationModal)
# Ao ser clicado deve encerrar o processo
b1.clicked.connect(sys.exit)
d.exec_()
if __name__ == '__main__':
window()
```