Habe folgendes Problem:
Ich durchlaufe eine for-Schleife und möchte in bestimmten Fällen, dass die durchlaufende Variable erhöht werden kann, um die Anzahl der Schleifendurchläufe zu verringern. Im folgenden Beispiel soll die Schleife eigentlich nur 5 mal durchlaufen werden, sie wird aber 10 mal ...
Die Suche ergab 23 Treffer
- Sonntag 19. August 2012, 21:36
- Forum: Allgemeine Fragen
- Thema: Anzahl von loops in for Schleife dynamisch ändern
- Antworten: 7
- Zugriffe: 2294
- Sonntag 5. August 2012, 20:57
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Es klappt! 
Danke.
Danke.
- Sonntag 5. August 2012, 20:14
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Ok ich habe festgestellt, dass ich das Toplevel in einem anderen Thread zerstören möchte, als es erstellt wurde. Es handelt sich dabei um einen Thread, der parallel zur mainloop läuft. Ich gehe gerade davon aus, dass es daran liegen könnte.
Jetzt brauche ich eine Möglichkeit der mainloop mitzuteilen ...
Jetzt brauche ich eine Möglichkeit der mainloop mitzuteilen ...
- Sonntag 5. August 2012, 19:29
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Kann es sein, dass es daran liegt, dass ich das Toplevel erst erzeuge, wenn ein event in der mainloop stattfindet und es dadurch erst "nach" der mainloop erstellt wird?
Ich werde es jetzt mal so probieren, dass ich das Toplevel vor dem Start der mainloop erstelle und es erst nach dem event sichtbar ...
Ich werde es jetzt mal so probieren, dass ich das Toplevel vor dem Start der mainloop erstelle und es erst nach dem event sichtbar ...
- Sonntag 5. August 2012, 19:26
- Forum: Tkinter
- Thema: Frame gefüllt mit flexibel vielen Labels
- Antworten: 8
- Zugriffe: 2863
Re: Frame gefüllt mit flexibel vielen Labels
Hi fnorb!
Danke für deine Antwort.
Ich habe es bereits umgesetzt, indem ich ein Canvas-Widget verwendet habe. Das Text-Widget wäre anscheinend aber die bessere Variante gewesen, weil das Layouting besser gelöst wird. Vielleicht ändere ich es nochmal, wenn das Projekt fertig ist und auf Anklang stößt ...
Danke für deine Antwort.
Ich habe es bereits umgesetzt, indem ich ein Canvas-Widget verwendet habe. Das Text-Widget wäre anscheinend aber die bessere Variante gewesen, weil das Layouting besser gelöst wird. Vielleicht ändere ich es nochmal, wenn das Projekt fertig ist und auf Anklang stößt ...
- Samstag 4. August 2012, 01:24
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Ich habe die Klasse so umgeschrieben, dass nurnoch ein Toplevel erstellt wird, dass danach zerstört werden soll:
from ttk import Progressbar
import Tkinter
class download_bar(object):
def __init__(self, main):
self.mainclass = main
self.window = Tkinter.Toplevel(self.mainclass.main_window ...
from ttk import Progressbar
import Tkinter
class download_bar(object):
def __init__(self, main):
self.mainclass = main
self.window = Tkinter.Toplevel(self.mainclass.main_window ...
- Freitag 3. August 2012, 01:07
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Habe jetzt ein anderes Problem mit der Scrollbar. Alles funktioniert eigentlich wie gewollt, nur wenn die Scrollbar zusammen mit dem Toplevel zerstört werden soll, dann bleibt sie, obwohl das Toplevel zerstört wurde, immernoch sichtbar.
Hier die Klasse:
from ttk import Progressbar
import Tkinter ...
Hier die Klasse:
from ttk import Progressbar
import Tkinter ...
- Freitag 3. August 2012, 00:27
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Hätte ich das vorher gewusst, hätte ich mir viele Stunden rumprobieren gespart. Aber jetzt weiß ich es.BlackJack hat geschrieben:@moccajoghurt: `Tk` ist sozusagen das Hauptfenster. Wenn man weitere Fenster haben möchte kann man `Toplevel` dafür verwenden.
Vielen Dank nochmal an alle, Thema ist gelöst.
- Donnerstag 2. August 2012, 20:55
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Ok jetzt verstehe ich!
Ist es denn möglich eine Progressbar in die Mitte des Hauptfensters zu setzen, ohne dass die anderen Widgets berücksichtigt werden müssen? Das war nämlich der Hauptgrund aus dem ich einfach ein neues Tk() erstellt habe. Ich möchte die Progressbar als unabhängige über den ...
Ist es denn möglich eine Progressbar in die Mitte des Hauptfensters zu setzen, ohne dass die anderen Widgets berücksichtigt werden müssen? Das war nämlich der Hauptgrund aus dem ich einfach ein neues Tk() erstellt habe. Ich möchte die Progressbar als unabhängige über den ...
- Donnerstag 2. August 2012, 16:07
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Hatte das schon ausprobiert. Dann kommt, dass das None-Object nicht über das Attribut dl_bar verfügt.
- Donnerstag 2. August 2012, 13:40
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Ok werde die __ zukünftig einfach weglassen.
Wenn ich ein
print("### INIT LOAD BAR ###")
In init_load_bar packe, dann sieht die Exception folgendermaßen aus:
>pythonw -u "main.py"
### INIT LOAD BAR ###
Exception in thread Thread-23:
Traceback (most recent call last):
File "C:\Python27\lib ...
Wenn ich ein
print("### INIT LOAD BAR ###")
In init_load_bar packe, dann sieht die Exception folgendermaßen aus:
>pythonw -u "main.py"
### INIT LOAD BAR ###
Exception in thread Thread-23:
Traceback (most recent call last):
File "C:\Python27\lib ...
- Donnerstag 2. August 2012, 12:51
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
import g_main, g_load
import search
import time
import threading
class mainclass():
def __init__(self):
self.open_gui()
self.elapsed = 0
self.time_elap = 0
def open_gui(self):
self.main_window = g_main.maingui(self)
def init_load_bar(self, query):
self.dl_bar = g_load.download ...
import search
import time
import threading
class mainclass():
def __init__(self):
self.open_gui()
self.elapsed = 0
self.time_elap = 0
def open_gui(self):
self.main_window = g_main.maingui(self)
def init_load_bar(self, query):
self.dl_bar = g_load.download ...
- Donnerstag 2. August 2012, 12:19
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Die Klasse, die erstellt wird:
from ttk import Progressbar
import Tkinter
import threading
class download_bar():
def __init__(self, query, main):
self.mainclass = main
self.window = Tkinter.Tk()
self.window.overrideredirect(True)
self.bar = Progressbar(self.window, length=200)
self.bar ...
from ttk import Progressbar
import Tkinter
import threading
class download_bar():
def __init__(self, query, main):
self.mainclass = main
self.window = Tkinter.Tk()
self.window.overrideredirect(True)
self.bar = Progressbar(self.window, length=200)
self.bar ...
- Donnerstag 2. August 2012, 12:03
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
Ja davon würde ich eigentlich auch ausgehen, aber sie wurde tatsächlich erstellt, man kann sie ja auch sehen...
Gibt es noch irgendeinen anderen Grund, weshalb sie nicht mehr aufgerufen werden könnte, außer dass sie bereits gelöscht wurde oder gar nicht erstellt wurde. Denn die letzten beiden Gründe ...
Gibt es noch irgendeinen anderen Grund, weshalb sie nicht mehr aufgerufen werden könnte, außer dass sie bereits gelöscht wurde oder gar nicht erstellt wurde. Denn die letzten beiden Gründe ...
- Donnerstag 2. August 2012, 00:08
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Re: Klassenattribut ist nach Erstellung nicht mehr ansprechb
@moccajoghurt: Wenn das Attribut nicht gefunden wird, dann wurde es ganz offensichtlich auch nicht an das Objekt gebunden. Oder inzwischen wieder entfernt. Was ungewöhnliches Vorgehen wäre.
Eigentlich sollte es mit
self.dl_bar = g_load.download_bar(query, self)
an das Objekt gebunden worden sein ...
Eigentlich sollte es mit
self.dl_bar = g_load.download_bar(query, self)
an das Objekt gebunden worden sein ...
- Mittwoch 1. August 2012, 23:48
- Forum: Tkinter
- Thema: Klassenattribut ist nach Erstellung nicht mehr ansprechbar
- Antworten: 28
- Zugriffe: 4270
Klassenattribut ist nach Erstellung nicht mehr ansprechbar
Hi,
ich stehe bei meinem Python Code vor einem weiteren Rätsel. Ich erstelle folgendermaßen ein Klassenobjekt:
def init_load_bar(self, query):
self.dl_bar = g_load.download_bar(query, self)
Anschließend werden ein paar Threads erstellt und das Programm macht ein paar Berechnungen ...
ich stehe bei meinem Python Code vor einem weiteren Rätsel. Ich erstelle folgendermaßen ein Klassenobjekt:
def init_load_bar(self, query):
self.dl_bar = g_load.download_bar(query, self)
Anschließend werden ein paar Threads erstellt und das Programm macht ein paar Berechnungen ...
- Dienstag 31. Juli 2012, 22:34
- Forum: Tkinter
- Thema: mainloop wird bei eigenem Thread nicht gestartet
- Antworten: 5
- Zugriffe: 1459
Re: mainloop wird bei eigenem Thread nicht gestartet
Kann auch sein, dass ich Glück hatte, bei swing habe ich mämlich nie genutzt. Gut, dann werde ich es so machen, wie du vorgeschlagen hast.
Code: Alles auswählen
SwingUtilities.invokeLater- Dienstag 31. Juli 2012, 22:22
- Forum: Tkinter
- Thema: mainloop wird bei eigenem Thread nicht gestartet
- Antworten: 5
- Zugriffe: 1459
Re: mainloop wird bei eigenem Thread nicht gestartet
GUI + multithreading = Geht normalerweise nicht.
Was nicht heisst, dass du nicht multiple threads in deinem Programm haben kannst. Aber der mainloop muss im main-thread sein (meistens, ausnahmen, regel, bilde einen satz), und du musst Timer oder Events benutzen. Tkinter kann nur ersteres, benutze ...
Was nicht heisst, dass du nicht multiple threads in deinem Programm haben kannst. Aber der mainloop muss im main-thread sein (meistens, ausnahmen, regel, bilde einen satz), und du musst Timer oder Events benutzen. Tkinter kann nur ersteres, benutze ...
- Dienstag 31. Juli 2012, 22:02
- Forum: Tkinter
- Thema: Größe von Canvas wird bei Objektorientierung nicht erkannt
- Antworten: 3
- Zugriffe: 1052
Re: Größe von Canvas wird bei Objektorientierung nicht erkan
Glaube ich nicht. Da muss was anderes passieren zwischendurch. Versuch doch mal bitte, minimal lauffaehige Code-Beispiele fuer beide Faelle zu produzieren.
Das dachte ich eigentlich auch, aber ich habe absolut nichts gefunden. Es ist leider zuviel Code, um es hier zu posten, da will sich keiner ...
Das dachte ich eigentlich auch, aber ich habe absolut nichts gefunden. Es ist leider zuviel Code, um es hier zu posten, da will sich keiner ...
- Dienstag 31. Juli 2012, 22:00
- Forum: Tkinter
- Thema: mainloop wird bei eigenem Thread nicht gestartet
- Antworten: 5
- Zugriffe: 1459
mainloop wird bei eigenem Thread nicht gestartet
Hi,
folgender Code funktioniert bei mir nicht wie beabsichtigt:
class loading_bar():
def __init__(self):
self.window = Tkinter.Tk()
self.bar = Progressbar(self.window, length=200)
self.bar.pack(expand=True, fill=Tkinter.BOTH)
t = threading.Thread(target=self.start_bar)
t.start ...
folgender Code funktioniert bei mir nicht wie beabsichtigt:
class loading_bar():
def __init__(self):
self.window = Tkinter.Tk()
self.bar = Progressbar(self.window, length=200)
self.bar.pack(expand=True, fill=Tkinter.BOTH)
t = threading.Thread(target=self.start_bar)
t.start ...
