Primeiro, vamos instalar o PYQT5:
pip install pyqt5Etapa 1: Criando a janela em branco
O primeiro passo para criar qualquer coisa é configurar a janela em branco. A janela em branco requer algumas linhas de código, então vamos olhar para isso.
De pyqt5 importar qtwidgetsDefina a geometria da janela usando o método setgeometry (), que leva quatro argumentos - a posição X inicial, a posição Y inicial (em outras palavras, onde o canto superior esquerdo aparece na tela), a largura e a altura do janela.
auto.Setgeometria (350, 100, 800, 600)Defina o título da janela com o método setWindowTitle ().
auto.setWindowtitle ("pyqt5")Você pode definir o ícone usando setWindowicon (). Observe que o ícone deve ter 64 pixels em 64 pixels.
auto.SetWindowicon (Qtgui.Qicon ("Rattle.png "))Cada arquivo pyqt5 requer esta próxima linha que leva sys.argv como um argumento.
APLICAÇÃO = QAPPLICAÇÃO (SYS.argv)Em seguida, crie uma instância da classe que criamos acima.
win = window ()Para sair da janela pressionando o botão X, precisamos de sistemas.Sair da aplicação.EXEC ()).
sys.Sair da aplicação.EXEC ())Este código criará uma janela em branco. O código como um todo seria assim:
De pyqt5 importar qtwidgetsEtapa 2: Barra de entrada
Em seguida, vamos criar uma barra de entrada. Uma barra de entrada é um lugar onde os usuários podem adicionar texto que podemos recuperar. As barras de entrada são criadas usando QWidgets.Qlineedit (). Obviamente, definimos sua geometria usando o método setgeometry ().
def initui (self):Lembre -se; Você ainda precisa ativar a função no método __init__ da seguinte forma:
auto.initui ()O código na íntegra neste momento seria assim:
De pyqt5 importar qtwidgetsEtapa 3: Criando botões
Agora, vamos adicionar alguns botões à tela em branco. Então, vamos escrever o código para o botão. Para o botão, usamos Qtwidgets.Qpushbutton (). Como de costume, podemos definir sua geometria usando o método setgeometry ().
auto.Button1 = QtWidgets.Qpushbutton ("show", eu)Defina o ícone usando o método seticon ().
auto.Button1.Seticon (Qtgui.Qicon ("Rattle.png "))Defina o estilo do texto usando o método setStylesheet (). Você pode alterar a cor, o peso da fonte e o tamanho da fonte, entre outros.
auto.Button1.setStylesheet ("cor: preto")Para obter o botão para fazer algo quando ele é clicado, você precisa dizer ao botão que ele precisa ativar uma função quando é clicado. Isso é feito usando cliques.Connect (), onde a função ativada é passada como um argumento. No meu caso, é:
auto.Button1.clicado.Conecte -se (self.Button_Clicked)Em seguida, definimos a função a ser chamada ou ativada quando o botão é pressionado. Por enquanto, vamos imprimi -lo no console.
def button_clicked (self):O código como um todo agora ficaria assim:
De pyqt5 importar qtwidgetsEtapa 4: Criando rótulos
Agora vamos modificar o comando Pressione o botão usando QLABELS. Qlabels são usados para adicionar texto. Adicionamos isso a def initui (self).
auto.Rótulo = QtWidgets.Qlabel (self)Definimos o texto no rótulo usando o método setText ().
auto.rótulo.setText ("Altere este título clicando no botão")Definimos a fonte, o tamanho e o peso usando o SetStylesheet ().Definimos a fonte, o tamanho e o peso usando o SetStylesheet ().
auto.rótulo.SetStylesheet ("Fonte-peso: negrito")E, finalmente, atualizamos tudo usando o método update ().
auto.rótulo.atualizar()Isso cria o seguinte:
Agora, podemos alterar o conteúdo na função button_clicked ().
def button_clicked (self):Podemos recuperar o que o usuário grava na barra de texto usando o método text ().
url_value = self.input_bar.texto()Em seguida, podemos alterar o rótulo após clicar em usar o método setText () e colocá -los no local certo usando o método setgeometry ().
auto.rótulo.setText (url_value)O código como um todo agora ficaria assim:
De pyqt5 importar qtwidgetsEtapa 5: QvboxLayout e Qhboxlayout
EU Não vait estar adicionando um qvboxlayout ou qhboxlayout aqui, mas você pode se quiser. Qhboxlayout organizará tudo em um padrão horizontal, e o QvBoxlayout organizará -o verticalmente. Se você usar Qhboxlayout ou QvBoxlayout, você deve omitir o método Setgeometry ().
Se você quisesse adicioná -lo, escreveria o seguinte em def initui (self). Você primeiro inicializa o layout usando QvBoxlayout ():
auto.design = qvboxlayout ()Em seguida, você adiciona os widgets que deseja nele usando o método addWidget ().
auto.projeto.addWidget (self.rótulo)Você define o layout usando setLayout (), que leva a variável inicializada como um argumento.
auto.setLayout (self.projeto)Eu não preciso disso aqui porque defino tudo com setgeometry (), então vou omitir isso no meu código. No entanto, se você quiser no seu código, todo o código ficaria assim:
De pyqt5 importar qtwidgetsEtapa 6: Designer QT
O que é ainda melhor com o PYQT5 é que ele vem com seu próprio designer. Um designer é um console onde você pode projetar a GUI que deseja, e o programa irá lançar o código Python para isso. O QT Designer vem no pacote pyqt5-tools, e isso deve ser instalado para que funcione. No designer QT, você pode colocar botões, controles deslizantes, etc.… Depois de colocá -los, você pode salvar o arquivo como um .arquivo da interface do usuário.
Uma vez que o arquivo é salvo como um .arquivo de interface do usuário, você ainda precisa convertê -lo para um .arquivo py para que o PyCharm possa exibi -lo. Para fazer isso, abra um terminal ou um CMD e digite:
pyuic5 -x saved_file_name.ui -o python_file.pyEu salvei meu arquivo como saved_file_name.Ui. O terminal irá lançar um arquivo python e chamá -lo o que você pediu. Você pode então abrir o .arquivo py no PyCharm e adicione a lógica a ele.
Lembre -se de que, embora possamos usar o designer para projetar o layout da GUI, ainda precisamos adicionar lógica ao código, o que é feito exclusivamente via código Python e não o designer. Infelizmente, o designer QT não adiciona lógica ao código!
Neste tutorial, aprendemos sobre o básico do PYQT5 e como usar o designer QT. Aprendemos que poderíamos criar telas em branco, adicionar botões usando QPUSHButton, adicionar barras de entrada usando QLINEEDIT, adicionar texto usando QLABELs e organizar tudo usando QvBoxlayout/Qhboxlayout. De fato, o PYQT5 é um módulo muito grande usado para criar uma variedade de aplicativos de desktop da GUI. Embora existam muitos módulos para aplicações da GUI no Python, a maioria das pessoas escolhe PYQT5 porque oferece uma enorme escolha de designs e um designer para facilitar as tarefas. De fato, Pyqt5 é um módulo que vale a pena aprender!
Codificação feliz!