2011-06-18 34 views
5

¿Hay algún modo en Tkinter, bwidget o algo similar de Python para mostrar una barra de progreso predeterminada de Windwos? que ya sé la bwidget.ProgressBar, pero produce una barra de progreso mientras fea me refiero a que muestra una barra de Windows válida progreso - el verde, brillando uno:Barra de progreso de Windows en Tkinter de Python

http://imageshack.us/photo/my-images/853/unledtph.png/

lo necesito porque de esa manera de Windows de forma automática mostrar el progreso de mi programa en la barra de tareas. Además, se ve mejor.

Respuesta

0

La solución más simple parece ser utilizar Tk temático con el módulo tkinter.ttk incluido en Python 2.7 y 3.1. El widget Progressbar es lo que quieres.

Como parece que está considerando otros marcos, puede ver Qt o wxWidgets que parecen nativos y tienen excelentes enlaces de Python.

+0

El problema es que ya tengo una aplicación completa en funcionamiento que usa Tkinter: todo lo que quiero hacer es agregar un programa. barra a eso. Si quisiera saber qué módulo de python debería usar para la programación de la GUI, habría formulado esa misma pregunta. – speller

+0

@speller Ambas respuestas lo señalan a tkinter.ttk. También comenzaste tu pregunta "¿Hay alguna forma en Tkinter, bwidget o algo similar de Python?", Lo que significaba que la respuesta no estaba restringida a Tkinter. De todos modos, Bryan me ha dado la razón y parece que el Tkinter moderno es mucho mejor. –

+0

El título dice claramente "Tkinter de pitón". bwidget funciona con Tkinter y solo viene a agregarle funciones, pero lo siento si no estaba claro. De todos modos, entiendo que ambos no sepan ninguna forma de hacerlo con Tkinter de 2.6, así que thnx :) – speller

9

Si está utilizando una versión moderna (2.7+) de Tkinter, puede probar el ttk.ProgressBar que forma parte de Tkinter.

+0

Estoy usando 2.6. Lo siento. – speller

+0

+1 Gracias por ponerme directamente en mis conceptos erróneos desactualizados. –

7

Puede instalar el módulo pyttk por separado.

from Tkinter import * 
import ttk 
root = Tk() 
progressbar = ttk.Progressbar(orient=HORIZONTAL, length=200, mode='determinate') 
progressbar.pack(side="bottom") 
progressbar.start() 
root.mainloop() 

En cuanto a la funcionalidad de la barra de tareas, que no está disponible en Tkinter todavía (al menos en la medida de mis conocimientos). Tendrá que hacer uso de la API de Windows para eso. Aunque this question es para PyQt, las respuestas deberían ser útiles. Espero que te haga comenzar.

+0

¡Guau! ¡Mucho mejor! Pero todavía no se ve exactamente como Windows lo muestra. Y por lo tanto, no aparece en mi barra de tareas también. ¿Conoces una manera de mejorarlo? – speller

+0

@speller Actualicé mi respuesta con algo más de información para su pregunta en la barra de tareas. – Bryan

+0

Bien, bien, muy útil. Pero me importa más que la barra de progreso brille como una barra de Windows normal. ¿Sabes cómo hacer que eso suceda? – speller