Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Peter Otten <__peter__@web.de> Newsgroups: de.comp.lang.python Subject: Re: [Python-de] tkinter .. Date: Wed, 04 May 2016 15:27:23 +0200 Organization: None Lines: 42 Message-ID: References: <20160503211854.65952cac@xingu.arnoldarts.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit X-Trace: news.uni-berlin.de 5kBwmPHbqp/sOhXeNaGX8AMl+NyBgMqlIKawDsXAzaTg== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org X-Injected-Via-Gmane: http://gmane.org/ X-Gmane-NNTP-Posting-Host: p57bd8b90.dip0.t-ipconnect.de User-Agent: KNode/4.13.3 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <20160503211854.65952cac@xingu.arnoldarts.de> Xref: csiph.com de.comp.lang.python:4446 Arnold Krille wrote: > On Tue, 03 May 2016 15:19:45 +0200 Hermann Riemann > wrote: >> Momentan fange ich wieder mit einem Grafikprogramm an. >> >> Etliche Bildberabeitung selber ( Pixel Lesen und schreiben etc.) >> geht über SDL in C. >> >> Bei der Steuerung möchte ich Python3 verwenden. >> Dazu hätte ich gerne etliche unterschiedliche tkinter Fenster >> deren Aufbau sich nach augenblicklicher Situation richtet. >> >> Dazu benötige ich ein Haupt-Programm >> welches die Verwaltung macht >> und etliche tkinter Programme für die Steuerung. >> >> Da jedes tkinter Programme ein mainloop() >> enthält wird auch Kommunikation >> mit dem Hauptbrogramm benötigt. >> ( Während der mainloop sollen ja andere Programme >> wie C-Programme und Hauptprogramm arbeiten.) >> >> Ich erwäge die tkinter in threads auszuführen, >> weiß aber nicht, ob das so geht bzw. zweckmäßig ist >> ( Jeder thread hätte eine eigene mainloop() ) > > Die meisten Grafiksysteme können nur aus einem Thread heraus mit dem > X-Server bzw. der OS-Engine reden. Ein Thread pro 'Fenster' innerhalb > einer App wird also wahrscheinlich nicht gehen. Aber den main-Thread > für alle Grafik zu nehmen und die Rechenaufgaben in Threads/Subprocesses > auszulagern ist standard. Der konventionelle Aufbau ist, tkinter im Main-Thread auszuführen und gegebenenfalls Nicht-tkinter-Aufgaben in eigenen Threads. Die Kommunikation kann über eine Queue stattfinden: http://effbot.org/zone/tkinter-threads.htm Warum die tkinter-Fenster nicht mehrere Toplevel im selben Programm sein sollen, die sich eine mainloop() teilen, ist mir nicht klar.