----------------------------------------------------------------------
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()