Pitão

Como usar o PyQt GUI Builder

Como usar o PyQt GUI Builder

PyQt é uma biblioteca Python popular usada para implementar aplicativos gráficos em Python com mais facilidade. Esta biblioteca vem com uma ferramenta de construção GUI (Graphical User Interface) chamada Qt Designer. A GUI pode ser construída rapidamente em Python usando o recurso arrastar e soltar desta biblioteca, embora esta ferramenta não tenha recursos de depuração como o IDE padrão. Este tutorial mostra como implementar a GUI usando a classe Qt Designer de PyQt.

Pré-requisitos

Você deve instalar a ferramenta Qt Designer antes de praticar os exemplos fornecidos neste tutorial. Execute os seguintes comandos para instalar o Qt Designer no seu sistema:

$ sudo apt-get install qttools5-dev-tools
$ sudo apt-get install qttools5-dev

Abra o Qt Designer

Execute o seguinte comando para alterar a localização do diretório atual para o Qt Designer pasta.

$ cd / usr / lib / x86_64-linux-gnu / qt5 / bin /

Execute o seguinte comando para abrir o aplicativo Qt Designer.

$ ./ designer

Se o Qt Designer foi instalado corretamente, a seguinte janela aparecerá. O Ferramenta A caixa mostrada no lado esquerdo da janela principal contém vários widgets que você pode usar para projetar a interface do usuário do aplicativo. O Nova forma janela é usada para criar uma nova janela usando os botões padrão. A janela mostrada no lado direito da janela principal fornece informações sobre os widgets que podem ser lidos ou modificados.

Crie o primeiro formulário usando o Qt Designer

Para começar a projetar a interface do aplicativo Python, clicaremos no Crio botão na janela seguinte para abrir a caixa de diálogo com dois botões padrão.

A seguir, vamos projetar um formulário de login usando o Widgets de rótulo, edição de texto e botão de pressão. A caixa de diálogo será salva com o nome Login.ui, que será usado posteriormente no script Python. O QObject nome será alterado para Logindialog usando o Janela do Editor de Propriedades desta aplicação.

Usando a caixa de diálogo de login

O arquivo de interface do usuário criado pelo Qt Designer pode ser usado no script Python de duas maneiras. O arquivo pode ser usado diretamente no script Python ou no arquivo Python convertido do Qt Designer arquivo pode ser usado no script Python. Ambas as maneiras de usar a caixa de diálogo do Qt Designer são mostrados na seção seguinte do tutorial.

Executar o arquivo Qt Designer diretamente

O módulo UIC da biblioteca PyQt é usado para carregar o arquivo criado pelo Qt Designer, e o loadUI () método do módulo UIC é usado para carregar o arquivo UI. O script a seguir mostra como carregar o Qt Designer arquivo chamado Conecte-se.ui que criamos antes. Os módulos necessários são importados no início do script. O objeto do aplicativo é criado usando o QApplication (), e a Qt Designer arquivo é carregado usando o loadUI () método. A seguir, o exec () método é chamado para iniciar o ciclo de eventos da aplicação.

# Módulo de importação sys
import sys
# Importar QtWidgets e módulos uic
de PyQt5 import QtWidgets, uic
# Criar objeto de aplicativo
app = QtWidgets.QApplication (sys.argv)
# Carregar formulário GUI e exibir
janela = uic.loadUi ("Login.ui ")
janela.mostrar()
# Inicie o loop de eventos do aplicativo ou caixa de diálogo
aplicativo.exec ()

A seguinte caixa de diálogo aparecerá após a execução do script acima.

Execute o arquivo de IU convertendo em arquivo Python

O arquivo UI criado pelo Qt Designer pode ser convertido em um arquivo Python usando o pyuic5 comando. Execute o seguinte comando para converter o Conecte-se.ui arquivo no forma de login.py Arquivo. O Conecte-se.ui o arquivo deve ser armazenado no local atual para executar o seguinte comando; caso contrário, um erro será gerado.

Login $ pyuic5.ui -o loginForm.py

O seguinte código será gerado no forma de login.py depois de executar o comando acima.

# - * - codificação: utf-8 - *-
# Implementação do formulário gerado a partir da leitura do arquivo UI 'Login.ui '
#
# Criado por: PyQt5 UI code generator 5.12.3
#
# AVISO! Todas as alterações feitas neste arquivo serão perdidas!
de PyQt5 import QtCore, QtGui, QtWidgets
classe Ui_Logindialog (objeto):
def setupUi (self, Logindialog):
Logindialog.setObjectName ("Logindialog")
Logindialog.redimensionar (400, 224)
auto.textEdit = QtWidgets.QTextEdit (Logindialog)
auto.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31))
auto.textEdit.setObjectName ("textEdit")
auto.textEdit_2 = QtWidgets.QTextEdit (Logindialog)
auto.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31))
auto.textEdit_2.setObjectName ("textEdit_2")
auto.label = QtWidgets.QLabel (Logindialog)
auto.rótulo.setGeometry (QtCore.QRect (140, 20, 131, 31))
font = QtGui.QFont ()
Fonte.setPointSize (18)
auto.rótulo.setFont (fonte)
auto.rótulo.setObjectName ("rótulo")
auto.label_2 = QtWidgets.QLabel (Logindialog)
auto.label_2.setGeometry (QtCore.QRect (36, 70, 81, 20))
auto.label_2.setObjectName ("label_2")
auto.label_3 = QtWidgets.QLabel (Logindialog)
auto.label_3.setGeometry (QtCore.QRect (40, 120, 67, 17))
auto.label_3.setObjectName ("label_3")
auto.btnLogin = QtWidgets.QPushButton (Logindialog)
auto.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25))
auto.btnLogin.setObjectName ("btnLogin")
auto.btnCancel = QtWidgets.QPushButton (Logindialog)
auto.btnCancel.setGeometry (QtCore.QRect (250, 170, 89, 25))
auto.btnCancel.setObjectName ("btnCancel")
auto.retranslateUi (Logindialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (self, Logindialog):
_translate = QtCore.QCoreApplication.traduzir
Logindialog.setWindowTitle (_translate ("Logindialog", "Dialog"))
auto.rótulo.setText (_translate ("Logindialog", "Formulário de login"))
auto.label_2.setText (_translate ("Logindialog", "Nome de usuário"))
auto.label_3.setText (_translate ("Logindialog", "Senha"))
auto.btnLogin.setText (_translate ("Logindialog", "Login"))
auto.btnCancel.setText (_translate ("Logindialog", "Cancelar"))

O seguinte exibirá o Conecte-se caixa de diálogo importando o forma de login.py arquivo criado usando o pyuic5 comando. O objeto do aplicativo é criado usando QApplication (), e a caixa de diálogo de login é carregada usando o setupUi () método. O botão Login está anexado ao loginClicked () método para verificar se o nome de usuário e senha obtidos do usuário são válidos. O Cancelar botão está anexado ao cancelClicked () método para sair do aplicativo. O exec () método é chamado para iniciar o ciclo de eventos da aplicação.

# Import QtWidgets
de PyQt5 import QtWidgets
# Importar sistema
import sys
# Importar formulário de login ui
importar loginForm
# Defina uma classe para configurar a IU
classe MyApp (QtWidgets.QMainWindow, loginForm.Ui_Logindialog):
def __init __ (self, parent = None):
super (MyApp, self).__init __ (pai)
# Carregue o formulário de login
auto.setupUi (self)
# Chame o método loginClicked ()
auto.btnLogin.clicado.conectar (eu mesmo.loginClicked)
# Chame o método cancelClicked ()
auto.btnCancel.clicado.conectar (eu mesmo.cancelClicked)
# Declare o método para verificar o nome de usuário e a senha quando o botão Login clicar
def loginClicked (self):
se eu.textEdit.toPlainText () == 'admin' e self.textEdit_2.toPlainText () == 'superusuário':
imprimir ('Usuário autenticado')
senão:
imprimir ('Usuário não autenticado')
# Declare o método para encerrar o script quando o botão Cancelar clicar
def cancelClicked (self):
saída()
# Criar objeto de aplicativo
app = QtWidgets.QApplication (sys.argv)
# Criar objeto de classe
form = MyApp ()
# Exibir o formulário
Formato.mostrar()
# Inicie o loop de eventos do aplicativo ou caixa de diálogo
aplicativo.exec ()

A seguinte caixa de diálogo aparecerá após a execução do script acima.


Se o usuário inserir o nome de usuário ou senha incorretos no Conecte-se formulário, a seguinte saída aparecerá após clicar no Conecte-se botão.


Se o usuário inserir o nome de usuário e a senha corretos no Conecte-se formulário, a seguinte saída aparecerá após clicar no Conecte-se botão.


Se o usuário clicar no Cancelar botão no Conecte-se formulário, a caixa de diálogo irá desaparecer.

Conclusão

Este tutorial mostrou como instalar Qt Designer e como criar um formulário simples usando este aplicativo. O tutorial também mostrou como carregar a caixa de diálogo da IU diretamente e depois de convertê-la no script Python mostrado na outra parte deste tutorial. Esperançosamente, este artigo ajudou você a entender melhor o uso do Qt Designer para construir e usar a GUI em aplicativos.

Vulkan para usuários de Linux
A cada nova geração de placas gráficas, vemos os desenvolvedores de jogos ultrapassarem os limites da fidelidade gráfica e se aproximarem mais do foto...
OpenTTD vs Simutrans
Criar sua própria simulação de transporte pode ser divertido, relaxante e extremamente atraente. É por isso que você precisa ter certeza de experiment...
Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...