I don't know with absolute certainty, but I would say that getting/setting variables is considered a "GUI action". Earlier I quoted Donal Fellows as saying "you must make sure that you only ever run Tcl commands or Tkinter operations from a single thread". Getting or setting a variable requires running a tcl command.
On Mon, Mar 26, 2018 at 4:41 PM, Nam Nguyen via Tkinter-discuss < tkinter-discuss@python.org> wrote: > On this note, is setting/getting variables (StringVar, IntVar etc) > considered GUI action? Why, or why not? > Thanks! > Nam > > On Mon, Mar 26, 2018 at 2:22 PM, Michael Lange <klappn...@web.de> wrote: > >> Hi, >> >> On Mon, 26 Mar 2018 12:54:20 -0700 >> Nam Nguyen via Tkinter-discuss <tkinter-discuss@python.org> wrote: >> >> > This is where my confusion comes from, actually ;). Python is single >> > threaded (from the OS point of view). When I create the TCL >> > interpreter, it is also created in the same thread that runs the Python >> > interpreter. So regardless of how many Python threads (threading >> > module), they all should belong to this same OS thread, should they not? >> >> I am not an expert on this, but I don't think so. At least here when I >> run a Tkinter app using threads (on linux) I see three threads in top, >> each with a different pid. >> And I am quite sure that I have seen strange things happen, iirc seemingly >> unpredictable, when the rule of thumb "run Tk only from the main thread >> and don't touch it from any child thread" was not observed. Some times >> such code *seemed* to work though, which I believe makes it even more >> dangerous, since it seems you can never know what (and when) will hit you. >> So my recommendation is to just either stick with that "rule of thumb" or >> else try the aforementioned thread-safe tkinter version. >> >> Best regards >> >> Michael >> >> .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. >> >> On my planet, to rest is to rest -- to cease using energy. To me, it >> is quite illogical to run up and down on green grass, using energy, >> instead of saving it. >> -- Spock, "Shore Leave", stardate 3025.2 >> > > > _______________________________________________ > Tkinter-discuss mailing list > Tkinter-discuss@python.org > https://mail.python.org/mailman/listinfo/tkinter-discuss > >
_______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org https://mail.python.org/mailman/listinfo/tkinter-discuss