Pular para o conteúdo

Caminho de referência à imagem no Label Tkinter

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Caminho de referência à imagem no Label Tkinter

Enviado em 05/11/2020 - 15:07h

Estou treinando POO em um projeto pessoal que estou desenvolvendo em mostrar uma janela chamada por um botão em que mostre "amostras" de texto de um idioma, mostrando uma bandeira e um texto desse idioma. O problema é que o texto aparece, porém, a imagem que eu quero que apareça na janela não é mostrada, apesar do caminho estar correto em relação ao arquivo ```main.py```. No PyCharm, quando você coloca o mouse encima de um caminho relativo à um arquivo que seja imagem corretamente ele mostra um pop-up com uma prévia da imagem. Não sei se devo fazer uma referência partindo da posição do arquivo ````main.py``` ou ```comandos_botao\__init__.py```. Ele está anexado.

Exemplos

main.py


from uteis.comandos_botao import *
from tkinter import *
import tkinter.ttk as ttk
from ttkthemes import ThemedStyle

root = Tk()

style_alt = ThemedStyle(root)
style_alt.set_theme('breeze')

botao = ttk.Button(root, text="alemao", command=bt_alemao)
botao.grid(row=0, column=0)

root.mainloop()


uteis\__init__.py

from tkinter import *

from uteis.textos import *


class JanelaIdioma():
def __init__(self, idioma, texto, bandeira):
self.idioma = idioma
self.texto = texto
self.bandeira = bandeira

def criar_janela(self):
if self.idioma == "alemao":
self.texto = alemao

root_alemao = Toplevel()

bandeira = Label(root_alemao, image=self.bandeira)
bandeira.grid(row=0, column=0)

letreiro_alemao = Label(root_alemao, text=self.texto, font=("Arial", 36, "bold"))
letreiro_alemao.grid(row=1, column=0)


comandos_botao\__init__.py

from uteis import *
from uteis.textos import *


def bt_alemao():
bandeira_alemao = PhotoImage(file='img/german.png')
janela = JanelaIdioma("alemao", alemao, bandeira_alemao).criar_janela()


textos\__init__.py

alemao = "Da ist niemand der den Schmerz an sich liebt, der danach sucht und ihn haben möchte, einfach weil es Schmerz ist..."


Sei que são muitos códigos e caso estiver confuso, o projeto inteiro está no GitHub aqui: https://github.com/LucasRibeiroRJBR/representacoes_idioma_bandeira

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder