CIV 2802 – Sistemas Gráficos para Engenharia – PUC-Rio
Programa muito simples “Hello World” em Python usando Qt 5
Arquivo LW1_HelloWorld/simple/main.py
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QMainWindow, QApplication, QLabel
class AppWindow(QMainWindow):
def __init__(self):
# Window initialization
super(AppWindow, self).__init__()
self.setGeometry(100, 100, 200, 50)
self.setWindowTitle("PyQt")
self.label = QLabel("Hello World!")
self.label.setAlignment(Qt.AlignCenter)
self.setCentralWidget(self.label)
def main():
app = QApplication(sys.argv)
w = AppWindow()
w.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
1
Roteiro para criação de um programa simples “Hello World” em
Python usando Qt 5, com criação de interface pelo Qt Designer
1. Abra o Visual Studio Code 2. Crie uma pasta “gui”
3. Abra um Terminal no Visual 4. Abra o aplicativo Qt Designer
Studio Code e vá para a pasta “gui”. Antes adicione essa pasta no “path” do usuário:
Instale o pacote pyqt5-tools C:\Users\<user>\AppData\Local\Programs\Python\Python39\
Lib\site-packages\qt5_applications\Qt\bin
5. Execute o programa Qt Designer e
crie uma nova Qt Main Window
2
6. Pronto para criar interface gráfica 7. Salve arquivo com nome myapp.ui
8. Muda o nome do objeto da janela principal e muda o seu título (salve)
9. Crie um widget para o labels
3
10. Modifique o tamanho da janela, edite o label e force alinhamento centrado na
horizontal e vertical do texto do label (salve com o nome “myapp.ui”)
11. Crie o arquivo myapp.py
cd gui
pyuic5 myapp.ui -o myapp.py
(não modifique esse arquivo)
12. Arquivo appcontroller.py (classe AppController herda de QMainWindow e Ui_MyApp)
from PyQt5.QtWidgets import QMainWindow
from gui.myapp import Ui_MyApp
class AppController(QMainWindow, Ui_MyApp):
def __init__(self):
super().__init__()
super().setupUi(self)
4
13. Arquivo main.py 14. Execução
import sys
from PyQt5.QtWidgets import QApplication
from appcontroller import AppController
if __name__ == '__main__':
app = QApplication(sys.argv)
ctrl = AppController()
ctrl.show()
app.exec_()
QWidget
QMainWindow