Seite 1 von 1

[Erledigt] Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 30th, '14, 16:38
von schroedingerscat
Hallo miteinander!

Ich wollte mal ein paar erste Schritte mit tkinter machen, dabei habe ich folgendes Tutorial angeschaut: http://www.tkdocs.com/tutorial/firstexample.html. Wie es aussieht, ist das Modul tkinter python3-kompatibel, währenddem Tkinter noch aus python2 ist. Kann es sein, dass Mageia das neue tkinter noch nicht enthält? Ausserdem sollte das Submodul ttk innerhalb von Tkinter zu finden sein, es ist aber ein eigenständiges Modul, so wie ich das durch die help()-Funktion von ipython verstanden habe.
Nun die Frage: Wie bekomme ich die offizielle Modulstruktur hin, sodass die import Anweisungen funktionieren, ohne alles anpassen zu müssen? Oder ist das ein Bug in den Mageia Paketquellen? Wahrscheinlich habe ich einfach etwas falsch verstanden...

Einen schönen Abend
schroedingerscat

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 30th, '14, 18:05
von Latte
Ich bin mir nicht sicher, ob das deine Frage beantwortet, aber es gibt 2 verschieden tkinter Versionen in mageia:

Code: Alles auswählen
[root@localhost marc]# urpmq -afy tkinter
tkinter-2.7.6-1.2.mga4.x86_64
tkinter-apps-2.7.6-1.2.mga4.x86_64
tkinter3-3.3.2-13.4.mga4.x86_64
tkinter3-apps-3.3.2-13.4.mga4.x86_64


tkinter basiert auf python2
Code: Alles auswählen
[root@localhost marc]# urpmq -i tkinter-2.7.6-1.2.mga4.x86_64
    http://mageia.unige.ch/mirror/distrib/4/x86_64/media/core/updates/media_info/20140828-135248-info.xml.lzma
Name        : tkinter                                                                                                                                                                                             
Version     : 2.7.6
Release     : 1.2.mga4
Group       : Development/Python
Size        : 2977832                      Architecture: x86_64
Source RPM  : python-2.7.6-1.2.mga4.src.rpm
URL         : http://www.python.org/
Summary     : A graphical user interface for the Python scripting language
Description :
The Tkinter (Tk interface) program is an graphical user interface for
the Python scripting language.

You should install the tkinter package if you'd like to use a graphical
user interface for Python programming.


tkinter3 auf python3:
Code: Alles auswählen
[root@localhost marc]# urpmq -i tkinter3-3.3.2-13.4.mga4.x86_64
Name        : tkinter3
Version     : 3.3.2
Release     : 13.4.mga4
Group       : Development/Python
Size        : 3035669                      Architecture: x86_64
Source RPM  : python3-3.3.2-13.4.mga4.src.rpm
URL         : http://www.python.org/
Summary     : A graphical user interface for the Python scripting language
Description :
The Tkinter (Tk interface) program is an graphical user interface for
the Python scripting language.

You should install the tkinter package if you'd like to use a graphical
user interface for Python programming.

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 30th, '14, 20:20
von alf
Ausserdem zu beachten:
Wenn in den Python-Scripten/-Programmen nichts anderes vermerkt ist, wird der Python 2.7.x-Interpreteraufgerufen. Willst du Python3 verwenden musst du das explizit angeben.
etwa so:
Code: Alles auswählen
#! /usr/bin/env python3

Wenn du dann tkinter3 installiert hast passt auch die Aufrufhierarchie.
Code: Alles auswählen
#! /usr/bin/env python3
from tkinter import *
from tkinter import ttk

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 31st, '14, 10:47
von schroedingerscat
Ok vielen Dank, ich hab vergessen, dass python den python2 Interpreter aufruft... Für alle, die einmal das gleiche Problem haben: Es gibt zu allen python-Paketen entsprechende python3-Pakete, die installiert werden müssen! Also z. B. python3-pillow o. Ä.

Neues Problem: ImageTk lässt sich nicht importieren. Wie oben schon erwähnt, habe ich das richtige pillow-Paket installiert. Folgende Fehlermeldung erscheint:
Code: Alles auswählen
Traceback (most recent call last):
  File "main.py", line 4, in <module>
    from PIL import ImageTk
ImportError: cannot import name ImageTk


Wieso kann ich dieses Submodul nicht importieren?

Nochmals vielen Dank und einen schönen Sonntag
schroedingerscat

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 31st, '14, 14:19
von alf
python-pillow-tk bzw. python3-pillow-tk für python3 ist installiert?

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 31st, '14, 21:40
von alf
ich frage mich gerade warum du dich ausgerechnet mit diesem cryptischen TK-Gedöns abmühst? Die Dialoge sehen doch recht altbacken aus und besonders intuitiv ist das auch nicht. Mit Qt und GTK lässt sich da einfacher arbeiten. Ich habe sehr gerne mit WxPython gearbeitet. Nur mal so zur Anregung ;)

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Aug 31st, '14, 23:38
von doktor5000
Pfff, für einfache Dialoge reicht schon zenity aus ;)

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Sep 3rd, '14, 16:13
von schroedingerscat
Ok ich habe mal alle Pakete, die Du genannnt hast, installiert. Jetzt klappt alles! :) Die Darstellung finde ich auch ziemlich ernüchternd und extrem mühsam zu programmieren(furchtbar schlechte Dokumentation). Ich hatte mir eigentlich erhofft, die Flexibilität von Python zu nutzen und dabei so plattformunabhängig wie Java zu bleiben, aber schön sieht anders aus. Ich habe erst ca. 400 Code-Zeilen (natürlich nicht nur GUI, sondern allgemein in meinem bescheidenen Projekt). Würdet Ihr einen Wechsel nach Java befürworten? Schlussendlich programmiere ich sowieso sehr objektorientiert.

Danke übrigens für die erneute Hilfe! :)

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Sep 3rd, '14, 20:09
von alf
schroedingerscat hat geschrieben:ch hatte mir eigentlich erhofft, die Flexibilität von Python zu nutzen und dabei so plattformunabhängig wie Java zu bleiben, aber schön sieht anders aus.
Deshalb ja meinHinweis auf WxPython, ist auf jedenfall hübscher anzusehen, plattformübergreifend und OO. ;)

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Sep 4th, '14, 18:27
von hwm
Oder PyQT, ist noch hübscher anzusehen, extrem mächtig, relativ einfach zu lernen und rasend schnell. Dokumentation ist ausgezeichnet, allerdings fast immer bezogen auf C++ und gibt es nur in Englisch. Dazu gibt es auch ein ausgezeichnetes Buch im Handel, allerdings auch nur in Englisch und leider etwas veraltet, Beispiele sind alle bezogen auf Python 2.x. Und mit dem dabeigelegten Designer klickt man sich die GUIs einfach zusammen.

Re: Tkinter-Modulhierarchie in Mageia

BeitragVerfasst: Sep 5th, '14, 06:49
von peterdit
schroedingerscat hat geschrieben:furchtbar schlechte Dokumentation

Doku zu Tkinter gibts hier:http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html
Gruss
Peter