Você está aqui: Python ::: PyQt GUI Toolkit ::: Gráficos Bitmap, QPainter e relacionados |
Código completo para um visualizador de fotos e imagens em PyQt - Carregar imagens com botões de próxima imagem e imagem anteriorQuantidade de visualizações: 477 vezes |
|
Nesta dica trago o código fonte completo para um visualizador de imagens escrito em PyQt, usando um objeto QLabel para a exibição da imagem. Este código é muito útil para o desenvolvimento de aplicações de fotos e imagens mais elaborados, tais como slide shows e redimensionamento ou rotação de imagens. Um dos pontos mais importantes é o uso de botões QPushButton para rotacionar entre as imagens fornecidas. Uma boa idéia é implementar o código que lê todas as imagens e fotos de um diretório e as exibe usando um timer ou permite ao usuário navegar entre elas usando o mouse ou teclado. Veja o código PyQt completo para a aplicação de visualização de fotos e imagens: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# vamos fazer os imports necessários
from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget
from PyQt6.QtWidgets import QVBoxLayout, QLabel, QPushButton
from PyQt6.QtGui import QPixmap
from PyQt6.QtCore import Qt
import sys
# vamos criar a classe principal da aplicação PyQt
class JanelaPrincipal(QMainWindow):
# construtor da classe
def __init__(self):
super().__init__()
# vamos definir o título da janela
self.setWindowTitle("Visualizador de Imagens PyQt")
# definimos a coordenada inicial e o tamanho da janela
self.setGeometry(150, 50, 600, 450)
# vamos criar o QWidget central para a janela principal
widget_central = QWidget()
# o definimos como widget central
self.setCentralWidget(widget_central)
# agora criamos um label para exibir as imagens
self.label_imagem = QLabel()
# vamos alinhar a label ao centro
self.label_imagem.setAlignment(Qt.AlignmentFlag.AlignCenter)
# vamos criar os botões Anterior e Próxima
btn_anterior = QPushButton("Anterior")
btn_proxima = QPushButton("Próxima")
# vamos carregar as imagens e já exibir a primeira
self.imagens = ["imagens/foto1.jpg", "imagens/foto2.jpg",
"imagens/foto3.jpg", "imagens/foto4.jpg"]
self.indice_imagem = 0
# chama a função que carrega a imagem
self.carregar_imagem()
# vamos conectar os botões às funções de navegação
btn_anterior.clicked.connect(self.imagem_anterior)
btn_proxima.clicked.connect(self.proxima_imagem)
# vamos criar o layout para o widget central
layout = QVBoxLayout()
layout.addWidget(self.label_imagem)
layout.addWidget(btn_anterior)
layout.addWidget(btn_proxima)
# definimos o layout para o widget central
widget_central.setLayout(layout)
# função usada para carregar a imagem
def carregar_imagem(self):
# vamos carregar e exibir a imagem atual
if 0 <= self.indice_imagem < len(self.imagens):
imagem = self.imagens[self.indice_imagem]
pixmap = QPixmap(imagem)
self.label_imagem.setPixmap(pixmap)
# função que carrega a imagem anterior
def imagem_anterior(self):
# exibe a imagem anterior
if self.indice_imagem > 0:
# reduzimos o índice
self.indice_imagem -= 1
# e carregamos a imagem
self.carregar_imagem()
# função usada para carregar a próxima imagem
def proxima_imagem(self):
# exibe a próxima imagem
if self.indice_imagem < len(self.imagens) - 1:
# aumentamos o índice
self.indice_imagem += 1
# e carregamos a imagem
self.carregar_imagem()
# função principal do programa PyQt
def main():
app = QApplication(sys.argv)
window = JanelaPrincipal()
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
JavaScript - Como testar se uma string contém uma determinada substring em JavaScript usando a função includes() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







