Code: Alles auswählen
import Tkinter as tk
from ttk import Progressbar
class DownloadBar(object):
def __init__(self, master, main=None):
self.mainclass = main
self.window = tk.Toplevel(master)
self.window.overrideredirect(True)
self.bar = Progressbar(self.window, length=150, mode='indeterminate')
self.bar.pack(expand=True, fill=tk.BOTH)
self.loop_bar()
def loop_bar(self):
self.bar.start(interval=1)
def kill_bar(self):
self.bar.stop()
self.window.destroy()
def main():
root = tk.Tk()
bar = DownloadBar(root)
root.after(2000, bar.kill_bar)
root.mainloop()
if __name__ == '__main__':
main()
Wie schon gesagt: Typen sollte man wenn möglich aus Namen heraus halten. Zumal wenn sie wie bei `self.mainclass` wahrscheinlich nicht stimmen, denn ich gehe mal davon aus, dass an das Attribut keine *Klasse* gebunden wird, sondern ein Exemplar.
Das `overrideredirect()` würde mich in den Wahnsinn treiben. Da bekommt man ein GUI-Element irgendwo auf den Bildschirm geklatscht — bei mir ist es anscheinend immer links oben in der Ecke — das man als Benutzer überhaupt nicht beeinflussen kann.