Neste tutorial, vamos explorar como criar interfaces gráficas usando QT e PySide, que é uma biblioteca de GUI para Python. Vamos mergulhar no básico da criação de interfaces gráficas interativas e como conectar elementos da interface com o código Python.
Antes de começar, certifique-se de ter o PySide instalado em seu ambiente Python. Você pode instalá-lo usando o pip:
pip install PySide2
Agora que temos o PySide instalado, vamos começar criando uma interface gráfica simples. Vamos criar uma janela com um botão que exibe uma mensagem quando clicado.
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Interface Gráfica com PySide")
self.setGeometry(100, 100, 300, 200)
self.button = QPushButton("Clique Me", self)
self.button.setGeometry(100, 50, 100, 50)
self.button.clicked.connect(self.on_button_click)
self.label = QLabel("", self)
self.label.setGeometry(100, 100, 200, 50)
def on_button_click(self):
self.label.setText("Olá, Mundo!")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
Neste código, criamos uma classe MyWindow
que herda de QMainWindow
e define uma janela com um botão e um rótulo. Quando o botão é clicado, uma mensagem é exibida no rótulo.
Para executar o código acima, basta salvar como um arquivo .py e executá-lo:
python my_gui.py
Agora, vamos adicionar um pouco mais de funcionalidades à nossa interface gráfica. Vamos adicionar um campo de entrada de texto e um botão que copia o texto do campo para o rótulo quando clicado.
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit, QLabel
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Interface Gráfica com PySide")
self.setGeometry(100, 100, 300, 200)
self.text_input = QLineEdit(self)
self.text_input.setGeometry(100, 50, 200, 30)
self.copy_button = QPushButton("Copiar Texto", self)
self.copy_button.setGeometry(100, 100, 100, 50)
self.copy_button.clicked.connect(self.on_copy_button_click)
self.label = QLabel("", self)
self.label.setGeometry(100, 150, 200, 30)
def on_copy_button_click(self):
text = self.text_input.text()
self.label.setText(text)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
Neste exemplo, adicionamos um campo de entrada de texto e um botão que copia o texto do campo para o rótulo quando clicado. Também conectamos o evento de clique do botão com o método on_copy_button_click
.
Este é apenas o começo da criação de interfaces gráficas usando QT e PySide. Com estas ferramentas poderosas, você pode criar interfaces gráficas complexas e interativas para seus aplicativos Python.
Espero que este tutorial tenha sido útil e que você possa explorar mais sobre a criação de interfaces gráficas com QT e PySide. Boa codificação!
Muito boa aula! Você tem o dom para ensinar. Como não conheci seu canal antes? Realmente, é muito bom. Mais um 1+ inscrito, likes e comentários para ajudar. Muito obrigado por compartilhar o conhecimento!
Essa foi boa! Pena que não continuou a serie sobre Qt.
como chama esse programa que usa para criar varias areas de trabalho ?
top bro. tento ajudar sempre quando consigo. parabens pelos videos. você é fera
o erro da imagem dá meio um pânico…buga a gente…heheheh
não aparece e depois que vi que era justamente definir como vazio primeiro e depois atualizar.
isso pq comi a linha achando que não precisava dela antes de ver a live…hehehe
Conteúdo muito produtivo, parabéns !
Uma das melhores aulas no youtube.
que material excelente!!!!
Adorei toda a aula, inclusive a parte histórica. Sempre muito bom saber disso tudo.
Parabéns 🙂
Uma Pergunta Eduardo, será que o App-QML ou QT, eu consigo de forma FREE ? Porque olhei esse LINK ( e p/ download ) e vi que é [ Download – Try ] ??
Achei bem legal estas orientações em !
Criar no Qt designer, no código e QML são muito boas. 1:33:00 na criação do layout , a forma que layout foi feita não era funcionar com responsividade.
Bom dia! Gostaria de confirmar se entendi corretamente. Então se eu desenvolver uma aplicação e disponibilizar de forma gratuita eu não preciso disponibilizar o códio fonte. Certo?
Qtquick mais fácil pra quem veio do frontend né safado kkk eu querendo aprender backend o cara me vem com CSS e JS kkk
Muito bom
QT é vida para o Python
esse cara é muito top
Você é excelente cara, ganhou mais um inscrito
Pus o PySide6 pelo pip e não consigo rodar nenhum exemplo, fica dando "Fatal Python error: Aborted" aqui no Ubuntu.
Já um pequeno exemplo no pyqt deu certo. O que pode ser ?
esse negocio de QT Design também não é pra mim, gosto de digitar o codigo e ver a magica acontecer ( ou nao acontecer kkk). negocio de arrasta e cola deixa pra galera do web design sksksk
to adorando suas lives man, muito bom