Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: DeMoNcRaZy en 20 Enero 2022, 19:49 pm



Título: Problema con ttk.Label en POO (python)
Publicado por: DeMoNcRaZy en 20 Enero 2022, 19:49 pm
Hola, buenas a tod@s

Estoy haciendo código POO y tengo algún problema, he buscado en internet y supuestamente lo estoy haciendo bien. Pero me da error y no me ejecuta.

Tengo esto:

Código
  1. from tkinter import *
  2. from tkinter import ttk
  3. import pymysql
  4. from tkinter import messagebox as MessageBox
  5. from tkinter import scrolledtext as st
  6.  
  7. class Aplicacion:
  8. def __init__(self):
  9. self.ventana1 = Tk()
  10. self.ventana1.title("Login")
  11. self.ventana1.geometry("400x400")
  12. self.imagenLogo = PhotoImage(file="logo2.png")
  13. self.divLogo = Label(self.ventana1, image=self.imagenLogo)
  14. self.divLogo.place(x=93, y=0)
  15. self.x_ventana = self.ventana1.winfo_screenwidth() // 2 - 300 // 2
  16. self.y_ventana = self.ventana1.winfo_screenheight() // 2 - 300 // 2
  17. self.posicion = str(300) + "x" + str(300) + "+" + str(self.x_ventana) + "+" + str(self.y_ventana)
  18. self.ventana1.geometry(self.posicion)
  19. self.ventana1.resizable(0,0)
  20.  
  21. self.formulario()
  22.  
  23.  
  24.  
  25. self.ventana1.mainloop()
  26.  
  27. def formulario(self):
  28. ### Formulario de Entrada ###
  29.        self.label1 = ttk.Label(text="Usuario:").place(x=50, y=110)
  30.  
  31.  
  32.  
  33. Ventana = Aplicacion()

Lo que quiero es insertar un Label de tkinter en la ventana gráfica desde una función.
Pero me da este erro en sublime text:

Código:
  File "/Users/tomas/Downloads/DonMovil/objetos.py", line 29
    self.label1 = ttk.Label(text="Usuario:").place(x=50, y=110)
TabError: inconsistent use of tabs and spaces in indentation
[Finished in 47ms with exit code 1]
[cmd: ['python3', '-u', '/Users/tomas/Downloads/DonMovil/objetos.py']]
[dir: /Users/tomas/Downloads/DonMovil]
[path: /Library/Frameworks/Python.framework/Versions/3.10/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin]


Cualquier información adicional lo agradeceria.
Saludos!


Título: Re: Problema con ttk.Label en POO (python)
Publicado por: Danielㅤ en 20 Enero 2022, 21:42 pm
Hola buenas tardes, el error que obtienes es por una mala indentacion de una línea de tu código, justamente en la línea que da error, para solucionarlo debes reemplazar esta línea:

Código
  1.        self.label1 = ttk.Label(text="Usuario:").place(x=50, y=110)
  2.  

Por ésta:

Código
  1.            self.label1 = ttk.Label(text="Usuario:").place(x=50, y=110)
  2.  

Simplemente antes de la instrucción de la línea que acabo de dejar, debes dejar 4 espacios o una tabulación.

Prueba esa modificación y nos comentas.


Saludos


Título: Re: Problema con ttk.Label en POO (python)
Publicado por: DeMoNcRaZy en 20 Enero 2022, 22:29 pm
Hola buenas tardes, el error que obtienes es por una mala indentacion de una línea de tu código, justamente en la línea que da error, para solucionarlo debes reemplazar esta línea:

Código
  1.        self.label1 = ttk.Label(text="Usuario:").place(x=50, y=110)
  2.  

Por ésta:

Código
  1.            self.label1 = ttk.Label(text="Usuario:").place(x=50, y=110)
  2.  

Simplemente antes de la instrucción de la línea que acabo de dejar, debes dejar 4 espacios o una tabulación.

Prueba esa modificación y nos comentas.


Saludos

Sí, asi es correcto. Ya todo funciona bien.

No sabia que una cosa así de tonta me diera tanto quebradero de cabeza vaya.

Muchas gracias y disculpa las molestias ocasionada por esta tontería.

Saludos.