Interface gráfica com QT e PySide – Live de Python #209

Posted by


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!

0 0 votes
Article Rating
23 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@abnerluis9086
1 month ago

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!

@ivannunes6668
1 month ago

Essa foi boa! Pena que não continuou a serie sobre Qt.

@puracomediabr
1 month ago

como chama esse programa que usa para criar varias areas de trabalho ?

@viewsz
1 month ago

top bro. tento ajudar sempre quando consigo. parabens pelos videos. você é fera

@cesarmarinhorj
1 month ago

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

@ellisonnacimento6302
1 month ago

Conteúdo muito produtivo, parabéns !

@igorcechinatodelima2202
1 month ago

Uma das melhores aulas no youtube.

@darkside3ng
1 month ago

que material excelente!!!!
Adorei toda a aula, inclusive a parte histórica. Sempre muito bom saber disso tudo.
Parabéns 🙂

@aribertosouzamoraes2052
1 month ago

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 ] ??

@aribertosouzamoraes2052
1 month ago

Achei bem legal estas orientações em !

@nddaniel1681
1 month ago

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.

@wood1295
1 month ago

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?

@zaphkielbellofiore185
1 month ago

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

@jeffersonnunes9609
1 month ago

Muito bom

@luischaves2918
1 month ago

QT é vida para o Python

@DanielAntunes-p5o
1 month ago

esse cara é muito top

@nerixleo
1 month ago

Você é excelente cara, ganhou mais um inscrito

@rbluhm
1 month ago

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 ?

@joserodrigues5899
1 month ago

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

@joserodrigues5899
1 month ago

to adorando suas lives man, muito bom