el problema con Pyinstaller y todas las herramientas que existen para pasar de PY a EXE. los exe generados tienen un peso final bastante exagerados, e incluso con cualquier script py simple, el resultado de la conversión a exe siempre es de un peso excesivo, y ni hablar de las las carpetas que genera con dependencias.
@cesarcoraquillo3 күн бұрын
gracias eres un crack una consulta como puedo hacer para se elimine todo el registro del programa de fracturas registradas y que empiece desde cero también prácticamente también el numero de boleta que se reinicie
@kevinarboleda75972 күн бұрын
Hola cesar buen día! gracias por tus comentarios, claro que puedes eliminar todos los registros de la base de datos, utiliza el programa DB Browser y abre la base de datos, ubica las tablas y desde ahi eliminar todos los registros que quieras, si vas a la tabla ventas y eliminas todos los registros las facturas iniciaran desde cero! saludos!
@cesarcoraquillo2 күн бұрын
gracias por la respuesta yo me refería como hacerlo con un botón dentro del mismo programa
@sugaralipadillacarrera46268 күн бұрын
Buenos días!! Una pregunta, estuve intentando colocar en la ventana ventas qué cuando seleccione un producto me aparezca la cantidad de productos que hay en el inventario, pero no me funcionó lo que hice. Como lo podría hacer? Gracias.
@kevinarboleda75972 күн бұрын
Hola Padilla, bueno en ese caso deberias modificar varias cosas, empezando por que debes crear un label para el stock, ejemplo: self.label_stock = tk.Label(labelframe, text="Stock:", font="sans 14 bold", bg="#dddddd") self.label_stock.place(x=400, y=70) no olvides cambiar la posición y si esta dentro de algun frame def actualizar_stock(self, event=None): producto_seleccionado = self.entry_nombre.get() try: conn = sqlite3.connect(self.db_name) c = conn.cursor() c.execute("SELECT stock FROM inventario WHERE nombre=?", (producto_seleccionado,)) stock = c.fetchone()[0] conn.close() self.label_stock.config(text=f"Stock: {stock}") except sqlite3.Error as e: print("Error al obtener el stock del producto:", e) self.entry_nombre.bind("<<ComboboxSelected>>", self.actualizar_stock) # Llamar a actualizar_stock cuando se seleccione un producto este podria ser un ejemplo de como adaptar la función al codigo, Saludos!
@sugaralipadillacarrera46262 күн бұрын
@@kevinarboleda7597 Muchas gracias amigo! Lo realizare tal cual.
@mauricioespinola81059 күн бұрын
Muy buen tutorial, he visto todos los videos y he aprendido muy bien. Que sigas así con buenos contenidos, gracias !!
@kevinarboleda75972 күн бұрын
Muchas gracias por el apoyo, pronto estare subiendo mas contenido! Saludos!
@jorgemariovargas38309 күн бұрын
Excelente video ❗❗ 23:29 Preguntas: 1. Yo trabajo con MYSQL, cómo sería realizar el EXE con esa base de datos 2. Si tengo una red LAN con 3 equipos auxiliares y un servidor, que tengo que instalar en esos equipos para que todo me funcione desde los equipos auxiliares ❓ 3. La base de datos Sqlite3 soporta procedimientos almacenados ❓ 4. La base de datos Sqlite3 que tamaño soporta en megas una tabla ❓
@gronedesconocido967211 күн бұрын
Mil disculpas ya vengo siguiendo tu videos por varias semanas y no e podido seguirte el paso intento vuelve a revisar los vídeos una y otra vez pero no sale que yo estoy haciendo no me sale como el tuyo no sé si podrías compartir los archivos del programa la verdad es para un trabajo de un tecnológico yo no sé mucho de programación pero por obligación tengo que llevar ese curso te lo pido por favor perdón por fastidiar
@kevinarboleda759710 күн бұрын
Hola Grone buen día, no te preocupes, que tipo de error te aparece? Envíame un mensaje al correo [email protected]
@gronedesconocido967210 күн бұрын
de verdad muchas gracias por todo ya te envié el mensaje
@yaelsito7w713 күн бұрын
Increíble🤩
@kevinarboleda759713 күн бұрын
Gracias por tu comentario! Saludos!
@nathaliespena1816 күн бұрын
eres una gran bendicion para mi Mil Gracias, desde RD.
@kevinarboleda759716 күн бұрын
Hola Nathalie me alegra mucho que te guste el contenido! Eso me motiva a seguir creando más contenido para todos ustedes y que puedan seguir aprendiendo! Saludos!
@gronedesconocido967216 күн бұрын
una consulta dijiste que en el minuto 33.53 es sin decimales como lo hago para que sea con decimales por favor me podrías ayudar
@gronedesconocido967216 күн бұрын
por favor te pido la ayuda por yo soy de Perú y si usamos decimales
@kevinarboleda759716 күн бұрын
Hola Grone, para utilizar decimales reemplaza el .0f por .2f si en tu país utilizan 2 decimales, tendrás que revisar en toda la lógica del proyecto para implementarla, saludos!
@gronedesconocido967216 күн бұрын
@@kevinarboleda7597 gracias
@BobBob-du3so16 күн бұрын
muy buenos tutorial mil gracias. ?Para esecutar en Ubuntu como seria el proceso?
@kevinarboleda759716 күн бұрын
Hola Bob en realidad nunca he utilizado Ubunto, pero si mal no estoy la lógica del código sería la misma, tendrías que mirar la documentación del paquete pyinstaller a ver si el ejecutable se crea igual! Saludos!
@josecordova184116 күн бұрын
Buenaso
@kevinarboleda759716 күн бұрын
Hola José! Gracias por tu comentario, Saludos! Seguiremos subiendo buen contenido!
@jordiest17 күн бұрын
muchas gracias por compartir!
@kevinarboleda759716 күн бұрын
Hola Jordi, que bueno que te guste el contenido! Saludos!
@jordiest17 күн бұрын
Gracias por compartir!
@Flavio-zc6bp18 күн бұрын
el ID no seria un texto ya que es un numero que no se operara ?
@kevinarboleda759717 күн бұрын
Hola Flavio, gracias por tu pregunta, generalmente el ID se utiliza como entero y aún más si es primary key y autoincrement, esto se hace automáticamente y garantiza que cada fila tenga un identificador único, tambien los números enteros ocupan menos espacio de almacenamiento que las cadenas de texto, Saludos!
@simonariasv18 күн бұрын
Hola Kevin, ¿depronto tienes algún repositorio en github donde podamos ver el código del proyecto? Muchas gracias por todo Saludos
@gronedesconocido967220 күн бұрын
Disculpa cuando subes la siguite gracias por que con tu vídeo me ayudaste mucho
@kevinarboleda759719 күн бұрын
Saludos Grone, el día domingo estaré subiendo nuevo video! Gracias por tus comentarios y apoyo al canal!
@sugaralipadillacarrera462620 күн бұрын
Cuando realiza un video para no tener que abrir el programa desde visual studio code,? si no desde el escritorio.
@kevinarboleda759720 күн бұрын
@@sugaralipadillacarrera4626 Hola, es el siguiente video que tengo programado, convertir un proyecto con varios archivos .py en un ejecutable .exe! Saludos!
@sugaralipadillacarrera462620 күн бұрын
@@kevinarboleda7597 Excelente. 👏
@JSTRUBINGER21 күн бұрын
Excelente tutorial, donde podriamos bajar esos fuentes, claro si se puede?
@kevinarboleda759720 күн бұрын
Hola José, te refieres al código fuente terminado? Podría subirlo como repositorio a GitHub, saludos!
@JSTRUBINGER20 күн бұрын
@@kevinarboleda7597 gracias
@JSTRUBINGER20 күн бұрын
Gracias
@sugaralipadillacarrera462623 күн бұрын
Gracias por tomar la sugerencia.
@kevinarboleda759723 күн бұрын
Muchas gracias Padilla, se tienen en cuenta todas las recomendaciones! Saludos!
@luisquispe864623 күн бұрын
En pedido al proveedor, porque el pedido lo ponen en el inventario?, deberia de aparecer en el inventario cuando llegue el pedido
@samuelrodriguez577224 күн бұрын
Que se hace con el codigo? es para usar directo? o hay que hacer algunos procedimientos? algun video de como se procede con el codigo que menciona..
@kevinarboleda759724 күн бұрын
Buen día Samuel, el código lo puedes personalizar a tu gusto, esta listo para usar mediante un editor de código como visual studio code o puedes convertirlo a un ejecutable y queda totalmente funcional como un programa de escritorio! Saludos!
@danielr2979Ай бұрын
Llegue!! muy buen curso muchas gracias por compartir!! Segui asi
@kevinarboleda7597Ай бұрын
Gracias Daniel por el apoyo! Seguiré subiendo más contenido para que podamos seguir aprendiendo juntos de este mundo de la programación! Saludos!
@sugaralipadillacarrera4626Ай бұрын
Excelente el tutorial. Esperamos el video final. 👏👏
@kevinarboleda7597Ай бұрын
Muchas gracias por el apoyo! Seguiré subiendo contenido que les pueda servir para aprender de programación! Saludos!
@jeremiasocampoalborth3845Ай бұрын
Puedes compartir me el código ing?
@dennysfabianfalconlainez4932Ай бұрын
Menos mal, casi nadie lo hace en python eres grande.!
@kevinarboleda7597Ай бұрын
Muchas gracias por el apoyo! Se vienen mas proyectos próximamente!
@danielr2979Ай бұрын
Perfecto!!! Voy bien hasta ahora!!! Ahora a esperar el siguiente video. Una consulta... cuando sale un cartel ya sea cualquiera, como podes evitar que se mezclen las ventanas? Por ejemplo: cuando le das a pagar la ventana del menu principal se posiciona adelante y ventas se va para atras, ocurre con cualquier tipo de mensaje ya sea de aviso o error
@kevinarboleda7597Ай бұрын
Hola Daniel, muchas gracias por la sugerencia, prueba agregar estas ultimas 4 lineas de codigo en el archivo container.py funcion show frames y me cuentas como te va! def show_frames(self, container): top_level = tk.Toplevel(self) frame = container(top_level) frame.config(bg="#C6D9E3") frame.pack(fill="both", expand=True) top_level.geometry("1100x650+120+20") top_level.resizable(False, False) top_level.transient(self.master) top_level.grab_set() top_level.focus_set() top_level.lift()
@danielr2979Ай бұрын
@@kevinarboleda7597 Si muy bueno Gracias! Se lo agregue a todas las ventanas. Tambien le hice una logica de centrado automatico de ventanas! window_width = 800 window_height = 500 screen_width = self.winfo_screenwidth() screen_height = self.winfo_screenheight() x = (screen_width - window_width) // 2 y = (screen_height - window_height) // 2 ventana_factura.geometry(f"{window_width}x{window_height}+{x}+{y}") agregado a todas las ventanas tambien! Ahora solo me queda limpiar la base por que me arrojaba un error en el numerador de factura y guarde varias facturas con el mismo numero de factura pero ya lo solucione 😄
@sini_sini29Ай бұрын
Muy buen contenido. Una recomendacion para lo que estemos siguiendo el curso, almacenen el codigo hexadecimal en una variable, les sera muchos mas prectico para no tener que buscar y copiar el codigo. Muchas gracias por el curso. Saludos
@kevinarboleda7597Ай бұрын
Brayan muchas gracias por el aporte, es muy valioso, cada uno puede ir agregándole mejoras al código! Es un buen ejercicio de aprendizaje! Saludos!
@sugaralipadillacarrera4626Ай бұрын
Excelente!! Al momento de generar la factura no se le podría colocar un botón que la genere a un PDF.?
@kevinarboleda7597Ай бұрын
Claro, se puede generar una función que exporte la factura en PDF con todos los datos de la venta, probablemente lo adiciones una vez termine el tutorial! Saludos!
@sugaralipadillacarrera4626Ай бұрын
@@kevinarboleda7597 Gracias!! La esperamos.
@sofiarivera9300Ай бұрын
Gracias! Voy haciendo el video contigo, estaba esperando este video, eres muy bueno explicando 🤩
@kevinarboleda7597Ай бұрын
Muchas gracias por el apoyo! Que bueno que te gusten los videos! Saludos!
@danielr2979Ай бұрын
Perfecto, ahora si estoy al dia pero con algunas modificaciones mias personalizadas, gracias por tu paciencia y a la espera del siguiente video 😃
@kevinarboleda7597Ай бұрын
Hola Daniel! Que bueno que te guste el tutorial! Esa es la idea que puedas aprender a desarrollar interfaces gráficas y las personalices a tu gusto! Ya se encuentra subida la parte 8 con todas las funciones del módulo ventas! Saludos!
@sugaralipadillacarrera4626Ай бұрын
Muchas gracias, Errores solucionados.
@jesustrillo5856Ай бұрын
Saludos. Gracias por los videos. Ya esperando la parte 8. Sabes que cuando se llama a las ventanas toplevel puedes volver a la ventana padre y abrir muchas ventanas inventario o ventas. Pues estuve leyendo y viendo otras cosas y cuando se crea el toplevel se agrega Top_level.grab_set() Con eso queda bloqueada la ventana padre. Hasta que cierre la toplevel. Gracias
@kevinarboleda7597Ай бұрын
Hola Jesús, gracias por el aporte, en el mundo de la programación todos los días aprendemos algo nuevo, pronto estaré subiendo más videos! Saludos!
@jesustrillo5856Ай бұрын
@@kevinarboleda7597 siiii es muchísima información que manejar pero allí vamos. Más bien gracias a ti por tomarte el tiempo. Y gracias por el orden en las ventanas y los archivos porque muy pocos lo hacen por lo menos en español.
@kevinarboleda7597Ай бұрын
Jesus prueba agregar estas ultimas 4 lineas de codigo en el archivo container.py funcion show frames para que aparte de bloquear el toplevel, al ejecutar una función no se sobreponga la ventana container! def show_frames(self, container): top_level = tk.Toplevel(self) frame = container(top_level) frame.config(bg="#C6D9E3") frame.pack(fill="both", expand=True) top_level.geometry("1100x650+120+20") top_level.resizable(False, False) top_level.transient(self.master) top_level.grab_set() top_level.focus_set() top_level.lift()
@jesustrillo5856Ай бұрын
buenas gracias por los videos. muy buenos. y apoyo el comentario de @danielr2979 sobre no abandonarnos, gracias
@kevinarboleda7597Ай бұрын
Gracias por el apoyo! ya se encuentran disponible la parte 6 y 7 de tutorial, saludos!
@jesustrillo5856Ай бұрын
@@kevinarboleda7597 graciassss voy por la parte 4.
@danielr2979Ай бұрын
No nos abandones! jajaja buen contenido y actualizado lo importante justo estaba buscando un curso como este, cuantos videos calculas que van a ser?
@kevinarboleda7597Ай бұрын
Hola Daniel, que bueno que te guste el contenido! Hoy estaré subiendo una nueva parte, yo creo que este tutorial quedará completo con unos 8 o 9 videos en total! Saludos!
@andrade8335Ай бұрын
Excelente Ing, Saludos desde Neiva - Huila
@kevinarboleda7597Ай бұрын
Hola, gracias por el comentario, seguimos trabajando duro para traer más contenido al canal! Saludos!
@franklinhurtadosalazarАй бұрын
Excelente tu aporte, te haces entender muy bien.
@kevinarboleda7597Ай бұрын
Que bueno que sea de tu agrado Franklin, Saludos!
@germansierraportela2981Ай бұрын
Si quiero el código , gracias
@kevinarboleda7597Ай бұрын
Buen día Germán, claro que si, para más información me puedes escribir al correo [email protected]
@sugaralipadillacarrera46262 ай бұрын
Excelente.
@kevinarboleda75972 ай бұрын
Saludos!
@leviatanMX2 ай бұрын
se reconoce el esfuerzo, demasiado... aplicaciones de escritorio en python, es picar piedra, no hay ningun IDE Visual descente, para aplicaciones de escritorio hay herramientas mucho pas profesionales como Lazarus que es opensource, python es para web, script de sistema operativo, ciencia de datos
@alxbotnet28242 ай бұрын
Buen aporte bro, lo estás vendiendo o compartes?
@kevinarboleda75972 ай бұрын
Hola Alx estoy vendiendo el código completo, próximamente también subiré un tutorial de cómo hacer un sistema básico similar!
@JosePerez-yi6qx2 ай бұрын
Kevin que buen proyecto. Tambien soy apasionado en el lenguaje Python y he desarrollado ya varias apps desktop en este lenguaje. Tengo varias observaciones que me gustaría compartirle. le escribi un correo.
@kevinarboleda75972 ай бұрын
Muchas gracias José por tu comentario, toda observación es bien recibida en este proceso de aprendizaje constante! Revisaré el correo, un abrazo!
@oigonzalezp20242 ай бұрын
Gracias, no sabia que había una librería de temas para Tkinter. Los voy a estudiar para mis proyectos de software libre.
@kevinarboleda75972 ай бұрын
Si, es una librería sencilla y fácil de utilizar, pero si se sabe utilizar se pueden crear muy buenos proyectos!
@oigonzalezp20242 ай бұрын
Excelente trabajo.
@oigonzalezp20242 ай бұрын
Hola vi tus repositorios en Github, debes ponerle licencia desde el comienzo del repositorio, pero puedes agregarla copiando la de otro repositorio que la tenga, por lo general es un documento que no debes modificar nunca, así que no hay mayor ciencia al respecto. Te recomiendo GNU v3, es la que siempre uso. Excelente trabajo Kevin.
@kevinarboleda75972 ай бұрын
Gracias! Llevo poco tiempo estudiando desarrollo de software, cada día se aprende algo nuevo, estaré revisando lo de las licencias!
@alxbotnet28242 ай бұрын
Gran aporte, te dejo mi like crack, si puedes hacer videos utilizando la librería pyqt5
@kevinarboleda75972 ай бұрын
Gracias! Claro que si, seguiré subiendo más proyectos, saludos!
Пікірлер
el problema con Pyinstaller y todas las herramientas que existen para pasar de PY a EXE. los exe generados tienen un peso final bastante exagerados, e incluso con cualquier script py simple, el resultado de la conversión a exe siempre es de un peso excesivo, y ni hablar de las las carpetas que genera con dependencias.
gracias eres un crack una consulta como puedo hacer para se elimine todo el registro del programa de fracturas registradas y que empiece desde cero también prácticamente también el numero de boleta que se reinicie
Hola cesar buen día! gracias por tus comentarios, claro que puedes eliminar todos los registros de la base de datos, utiliza el programa DB Browser y abre la base de datos, ubica las tablas y desde ahi eliminar todos los registros que quieras, si vas a la tabla ventas y eliminas todos los registros las facturas iniciaran desde cero! saludos!
gracias por la respuesta yo me refería como hacerlo con un botón dentro del mismo programa
Buenos días!! Una pregunta, estuve intentando colocar en la ventana ventas qué cuando seleccione un producto me aparezca la cantidad de productos que hay en el inventario, pero no me funcionó lo que hice. Como lo podría hacer? Gracias.
Hola Padilla, bueno en ese caso deberias modificar varias cosas, empezando por que debes crear un label para el stock, ejemplo: self.label_stock = tk.Label(labelframe, text="Stock:", font="sans 14 bold", bg="#dddddd") self.label_stock.place(x=400, y=70) no olvides cambiar la posición y si esta dentro de algun frame def actualizar_stock(self, event=None): producto_seleccionado = self.entry_nombre.get() try: conn = sqlite3.connect(self.db_name) c = conn.cursor() c.execute("SELECT stock FROM inventario WHERE nombre=?", (producto_seleccionado,)) stock = c.fetchone()[0] conn.close() self.label_stock.config(text=f"Stock: {stock}") except sqlite3.Error as e: print("Error al obtener el stock del producto:", e) self.entry_nombre.bind("<<ComboboxSelected>>", self.actualizar_stock) # Llamar a actualizar_stock cuando se seleccione un producto este podria ser un ejemplo de como adaptar la función al codigo, Saludos!
@@kevinarboleda7597 Muchas gracias amigo! Lo realizare tal cual.
Muy buen tutorial, he visto todos los videos y he aprendido muy bien. Que sigas así con buenos contenidos, gracias !!
Muchas gracias por el apoyo, pronto estare subiendo mas contenido! Saludos!
Excelente video ❗❗ 23:29 Preguntas: 1. Yo trabajo con MYSQL, cómo sería realizar el EXE con esa base de datos 2. Si tengo una red LAN con 3 equipos auxiliares y un servidor, que tengo que instalar en esos equipos para que todo me funcione desde los equipos auxiliares ❓ 3. La base de datos Sqlite3 soporta procedimientos almacenados ❓ 4. La base de datos Sqlite3 que tamaño soporta en megas una tabla ❓
Mil disculpas ya vengo siguiendo tu videos por varias semanas y no e podido seguirte el paso intento vuelve a revisar los vídeos una y otra vez pero no sale que yo estoy haciendo no me sale como el tuyo no sé si podrías compartir los archivos del programa la verdad es para un trabajo de un tecnológico yo no sé mucho de programación pero por obligación tengo que llevar ese curso te lo pido por favor perdón por fastidiar
Hola Grone buen día, no te preocupes, que tipo de error te aparece? Envíame un mensaje al correo [email protected]
de verdad muchas gracias por todo ya te envié el mensaje
Increíble🤩
Gracias por tu comentario! Saludos!
eres una gran bendicion para mi Mil Gracias, desde RD.
Hola Nathalie me alegra mucho que te guste el contenido! Eso me motiva a seguir creando más contenido para todos ustedes y que puedan seguir aprendiendo! Saludos!
una consulta dijiste que en el minuto 33.53 es sin decimales como lo hago para que sea con decimales por favor me podrías ayudar
por favor te pido la ayuda por yo soy de Perú y si usamos decimales
Hola Grone, para utilizar decimales reemplaza el .0f por .2f si en tu país utilizan 2 decimales, tendrás que revisar en toda la lógica del proyecto para implementarla, saludos!
@@kevinarboleda7597 gracias
muy buenos tutorial mil gracias. ?Para esecutar en Ubuntu como seria el proceso?
Hola Bob en realidad nunca he utilizado Ubunto, pero si mal no estoy la lógica del código sería la misma, tendrías que mirar la documentación del paquete pyinstaller a ver si el ejecutable se crea igual! Saludos!
Buenaso
Hola José! Gracias por tu comentario, Saludos! Seguiremos subiendo buen contenido!
muchas gracias por compartir!
Hola Jordi, que bueno que te guste el contenido! Saludos!
Gracias por compartir!
el ID no seria un texto ya que es un numero que no se operara ?
Hola Flavio, gracias por tu pregunta, generalmente el ID se utiliza como entero y aún más si es primary key y autoincrement, esto se hace automáticamente y garantiza que cada fila tenga un identificador único, tambien los números enteros ocupan menos espacio de almacenamiento que las cadenas de texto, Saludos!
Hola Kevin, ¿depronto tienes algún repositorio en github donde podamos ver el código del proyecto? Muchas gracias por todo Saludos
Disculpa cuando subes la siguite gracias por que con tu vídeo me ayudaste mucho
Saludos Grone, el día domingo estaré subiendo nuevo video! Gracias por tus comentarios y apoyo al canal!
Cuando realiza un video para no tener que abrir el programa desde visual studio code,? si no desde el escritorio.
@@sugaralipadillacarrera4626 Hola, es el siguiente video que tengo programado, convertir un proyecto con varios archivos .py en un ejecutable .exe! Saludos!
@@kevinarboleda7597 Excelente. 👏
Excelente tutorial, donde podriamos bajar esos fuentes, claro si se puede?
Hola José, te refieres al código fuente terminado? Podría subirlo como repositorio a GitHub, saludos!
@@kevinarboleda7597 gracias
Gracias
Gracias por tomar la sugerencia.
Muchas gracias Padilla, se tienen en cuenta todas las recomendaciones! Saludos!
En pedido al proveedor, porque el pedido lo ponen en el inventario?, deberia de aparecer en el inventario cuando llegue el pedido
Que se hace con el codigo? es para usar directo? o hay que hacer algunos procedimientos? algun video de como se procede con el codigo que menciona..
Buen día Samuel, el código lo puedes personalizar a tu gusto, esta listo para usar mediante un editor de código como visual studio code o puedes convertirlo a un ejecutable y queda totalmente funcional como un programa de escritorio! Saludos!
Llegue!! muy buen curso muchas gracias por compartir!! Segui asi
Gracias Daniel por el apoyo! Seguiré subiendo más contenido para que podamos seguir aprendiendo juntos de este mundo de la programación! Saludos!
Excelente el tutorial. Esperamos el video final. 👏👏
Muchas gracias por el apoyo! Seguiré subiendo contenido que les pueda servir para aprender de programación! Saludos!
Puedes compartir me el código ing?
Menos mal, casi nadie lo hace en python eres grande.!
Muchas gracias por el apoyo! Se vienen mas proyectos próximamente!
Perfecto!!! Voy bien hasta ahora!!! Ahora a esperar el siguiente video. Una consulta... cuando sale un cartel ya sea cualquiera, como podes evitar que se mezclen las ventanas? Por ejemplo: cuando le das a pagar la ventana del menu principal se posiciona adelante y ventas se va para atras, ocurre con cualquier tipo de mensaje ya sea de aviso o error
Hola Daniel, muchas gracias por la sugerencia, prueba agregar estas ultimas 4 lineas de codigo en el archivo container.py funcion show frames y me cuentas como te va! def show_frames(self, container): top_level = tk.Toplevel(self) frame = container(top_level) frame.config(bg="#C6D9E3") frame.pack(fill="both", expand=True) top_level.geometry("1100x650+120+20") top_level.resizable(False, False) top_level.transient(self.master) top_level.grab_set() top_level.focus_set() top_level.lift()
@@kevinarboleda7597 Si muy bueno Gracias! Se lo agregue a todas las ventanas. Tambien le hice una logica de centrado automatico de ventanas! window_width = 800 window_height = 500 screen_width = self.winfo_screenwidth() screen_height = self.winfo_screenheight() x = (screen_width - window_width) // 2 y = (screen_height - window_height) // 2 ventana_factura.geometry(f"{window_width}x{window_height}+{x}+{y}") agregado a todas las ventanas tambien! Ahora solo me queda limpiar la base por que me arrojaba un error en el numerador de factura y guarde varias facturas con el mismo numero de factura pero ya lo solucione 😄
Muy buen contenido. Una recomendacion para lo que estemos siguiendo el curso, almacenen el codigo hexadecimal en una variable, les sera muchos mas prectico para no tener que buscar y copiar el codigo. Muchas gracias por el curso. Saludos
Brayan muchas gracias por el aporte, es muy valioso, cada uno puede ir agregándole mejoras al código! Es un buen ejercicio de aprendizaje! Saludos!
Excelente!! Al momento de generar la factura no se le podría colocar un botón que la genere a un PDF.?
Claro, se puede generar una función que exporte la factura en PDF con todos los datos de la venta, probablemente lo adiciones una vez termine el tutorial! Saludos!
@@kevinarboleda7597 Gracias!! La esperamos.
Gracias! Voy haciendo el video contigo, estaba esperando este video, eres muy bueno explicando 🤩
Muchas gracias por el apoyo! Que bueno que te gusten los videos! Saludos!
Perfecto, ahora si estoy al dia pero con algunas modificaciones mias personalizadas, gracias por tu paciencia y a la espera del siguiente video 😃
Hola Daniel! Que bueno que te guste el tutorial! Esa es la idea que puedas aprender a desarrollar interfaces gráficas y las personalices a tu gusto! Ya se encuentra subida la parte 8 con todas las funciones del módulo ventas! Saludos!
Muchas gracias, Errores solucionados.
Saludos. Gracias por los videos. Ya esperando la parte 8. Sabes que cuando se llama a las ventanas toplevel puedes volver a la ventana padre y abrir muchas ventanas inventario o ventas. Pues estuve leyendo y viendo otras cosas y cuando se crea el toplevel se agrega Top_level.grab_set() Con eso queda bloqueada la ventana padre. Hasta que cierre la toplevel. Gracias
Hola Jesús, gracias por el aporte, en el mundo de la programación todos los días aprendemos algo nuevo, pronto estaré subiendo más videos! Saludos!
@@kevinarboleda7597 siiii es muchísima información que manejar pero allí vamos. Más bien gracias a ti por tomarte el tiempo. Y gracias por el orden en las ventanas y los archivos porque muy pocos lo hacen por lo menos en español.
Jesus prueba agregar estas ultimas 4 lineas de codigo en el archivo container.py funcion show frames para que aparte de bloquear el toplevel, al ejecutar una función no se sobreponga la ventana container! def show_frames(self, container): top_level = tk.Toplevel(self) frame = container(top_level) frame.config(bg="#C6D9E3") frame.pack(fill="both", expand=True) top_level.geometry("1100x650+120+20") top_level.resizable(False, False) top_level.transient(self.master) top_level.grab_set() top_level.focus_set() top_level.lift()
buenas gracias por los videos. muy buenos. y apoyo el comentario de @danielr2979 sobre no abandonarnos, gracias
Gracias por el apoyo! ya se encuentran disponible la parte 6 y 7 de tutorial, saludos!
@@kevinarboleda7597 graciassss voy por la parte 4.
No nos abandones! jajaja buen contenido y actualizado lo importante justo estaba buscando un curso como este, cuantos videos calculas que van a ser?
Hola Daniel, que bueno que te guste el contenido! Hoy estaré subiendo una nueva parte, yo creo que este tutorial quedará completo con unos 8 o 9 videos en total! Saludos!
Excelente Ing, Saludos desde Neiva - Huila
Hola, gracias por el comentario, seguimos trabajando duro para traer más contenido al canal! Saludos!
Excelente tu aporte, te haces entender muy bien.
Que bueno que sea de tu agrado Franklin, Saludos!
Si quiero el código , gracias
Buen día Germán, claro que si, para más información me puedes escribir al correo [email protected]
Excelente.
Saludos!
se reconoce el esfuerzo, demasiado... aplicaciones de escritorio en python, es picar piedra, no hay ningun IDE Visual descente, para aplicaciones de escritorio hay herramientas mucho pas profesionales como Lazarus que es opensource, python es para web, script de sistema operativo, ciencia de datos
Buen aporte bro, lo estás vendiendo o compartes?
Hola Alx estoy vendiendo el código completo, próximamente también subiré un tutorial de cómo hacer un sistema básico similar!
Kevin que buen proyecto. Tambien soy apasionado en el lenguaje Python y he desarrollado ya varias apps desktop en este lenguaje. Tengo varias observaciones que me gustaría compartirle. le escribi un correo.
Muchas gracias José por tu comentario, toda observación es bien recibida en este proceso de aprendizaje constante! Revisaré el correo, un abrazo!
Gracias, no sabia que había una librería de temas para Tkinter. Los voy a estudiar para mis proyectos de software libre.
Si, es una librería sencilla y fácil de utilizar, pero si se sabe utilizar se pueden crear muy buenos proyectos!
Excelente trabajo.
Hola vi tus repositorios en Github, debes ponerle licencia desde el comienzo del repositorio, pero puedes agregarla copiando la de otro repositorio que la tenga, por lo general es un documento que no debes modificar nunca, así que no hay mayor ciencia al respecto. Te recomiendo GNU v3, es la que siempre uso. Excelente trabajo Kevin.
Gracias! Llevo poco tiempo estudiando desarrollo de software, cada día se aprende algo nuevo, estaré revisando lo de las licencias!
Gran aporte, te dejo mi like crack, si puedes hacer videos utilizando la librería pyqt5
Gracias! Claro que si, seguiré subiendo más proyectos, saludos!