Seite 1 von 1

A Python Calculator for GTK+

Verfasst: Montag 19. Juni 2006, 09:20
von Wlad777
Hallo alle zusammen,

ich nehme mal an, daß kein Mensch noch ein Taschenrechner für GTK braucht, ich hab's aber geschrieben, um Python zu lernen.

Bitte mal testen.
Hoffe auf viel feedback und Verbesserungsvorschläge :wink: .

http://kram-hochladen.de/download_Mjc3.html


Bis dann
Wlad777

PS: Es könnten Probleme mit Potenzieren größeren Zahlen geben :oops: .

EDIT: Link geändert

Verfasst: Montag 19. Juni 2006, 13:18
von Leonidas
Hallo Wlad777, willkommen im Forum!

Erstens mal: Cool. Ehrlich. Vom Aussehen ist der Rechner nett, vielleicht kannst du noch die Zahlen nach rechts ausrichten.

Vom Code her:
  • Die __init__ würde ich als erste Funktion der Klasse reinsetzen, einfach verschieben reicht.
  • Für die einzelnen Buttons würde ich verschiedene Callbacks nehmen, zum Beispiel für die Nummerntasten einen und für die Operatortasten einen anderen.
  • Du musst nicht jedes Widget mit .show() anzeigen. Eigentlich musst du gar nichts anzeigen. Ein self.window.show_all() am Ende reicht vollkommen.
  • Paar Leerzeilen zur Auflockerung wären auch nicht verkehrt.
Aber sonst eigentlich gehr gut.

Verfasst: Montag 19. Juni 2006, 14:16
von Wlad777
Hallo Leonidas

Vielen Dank für feedback und Kritik: genau sowas habe ich auch erwartet :wink: .

Punkt 1: Erledigt :!:
Punkt 2: Die Buttons werden in einer Schleife "generiert", verschiedene Collbacks einzubinden stelle ich mir schwierig vor. Ich lasse es lieber so :oops:
Punkt 3: Das habe ich gar nicht gewusst. Habe umgeändert. Danke.
(Ausnahme

Code: Alles auswählen

 self.window.show()
sonst werden die images aus xpms nicht erstellt!)

Punkt 4: :oops: :oops: :oops:

http://www1.file-upload.net/download_19 ... 6.rar.html

Noch mal vielen Dank

Bis dann
Wlad777

Verfasst: Montag 19. Juni 2006, 15:20
von pr0stAta
Hi Wlad777,
bei mir funktioniert dein Programm leider nicht.
Es kommt eine Fehlermeldung direkt von der python.exe:

Code: Alles auswählen

Einsprungspunkt nicht gefunden
Der Prozedureneinsprungpunk "libiconv_set_relocation_prefix" wurde
in der DLL "iconv.dll" nicht gefunden.
Mein System:
Windows 2000
Python 2.4

Gruss

Verfasst: Montag 19. Juni 2006, 15:42
von Wlad777
Hallo pr0stAta,

hast du bei dir gtk+ installiert?
Wenn ja, versuche mal mit dem Löschen folgender Zeilen.

Code: Alles auswählen

try: gtk.window_set_default_icon_from_file('pyCalforG.png')    
except: pass
Ich hoffe es funktioniert, oder weisst jemand an was das liegen könnte?

Bis dann

Verfasst: Montag 19. Juni 2006, 18:12
von Leonidas
Die iconv.dll ist vielleicht zu alt. Iconv hat auch weniger mit Icons zu tun, sondern ist für das Konvertieren von Codecs zuständig.

Lösungen: GTK+ Runtime installieren, die eine neuere libiconv mitbringt oder libiconv selbst aktualisieren: von gettext oder GnuWin32.

Verfasst: Dienstag 20. Juni 2006, 08:43
von pr0stAta
Bringt in soweit eine Änderung, als das nun ein Python Fehler kommt :>
Nun findet er Cairo nicht, obwohl es in dem Package dabei war.
Naja, so wichtig ist es ja nun auch nicht, von daher lasse ich es einfach
mal :)

Verfasst: Dienstag 20. Juni 2006, 15:26
von Leonidas
Hast du pycairo installiert? Gibts von der gleichen Seite wie die PyGTK win32 builds.

Verfasst: Dienstag 20. Juni 2006, 18:49
von mawe
Hi!

Nur mal so zwischendurch, und bitte nicht lachen: Wie "entrart" man unter Linux?

Gruß, mawe

Verfasst: Dienstag 20. Juni 2006, 18:53
von Leonidas
mawe hat geschrieben:Nur mal so zwischendurch, und bitte nicht lachen: Wie "entrart" man unter Linux?
Mit unrar (Debian hats unter unrar-free (RAR < 3.0) und unrar unter non-free).
Allerdings gebe ich zu, dass es unpraktisch ist, sowas in RAR Archive zu packen.

Verfasst: Dienstag 20. Juni 2006, 19:08
von mawe
Du wirst lachen Leonidas, aber das hab ich schon probiert. Rauskommt folgende Fehlermeldung:

Code: Alles auswählen

Extracting  pyCalforG/buttons_data.py                                 Failed
Extracting  pyCalforG/pyCalforG.png                                   Failed
Extracting  pyCalforG/pyCalforG.py                                    Failed
3 Failed
Sieht vielversprechend aus :D

@ Wlad777: Bitte mach ein zip oder tar.gz draus ... für mich *zwinker* :)

Verfasst: Dienstag 20. Juni 2006, 19:25
von Leonidas
mawe hat geschrieben:Du wirst lachen Leonidas, aber das hab ich schon probiert. Rauskommt folgende Fehlermeldung:

Code: Alles auswählen

Extracting  pyCalforG/buttons_data.py                                 Failed
Extracting  pyCalforG/pyCalforG.png                                   Failed
Extracting  pyCalforG/pyCalforG.py                                    Failed
3 Failed
Sieht vielversprechend aus :D
Hast du es auch mit unrar aus dem nonfree-Paket probiert? Denn dass unrar-free kommt mit den 3.0er Archiven nicht zurecht (frag mich jetzt aber nicht, ob es ein 3.0 Archiv ist oder nicht).
Hach, proprietäre Formate sind doch immer wieder eine Freude.

Verfasst: Dienstag 20. Juni 2006, 19:37
von mawe
Jaha, mit dem nonfree hats jetzt funktioniert.
Leonidas hat geschrieben:Hach, proprietäre Formate sind doch immer wieder eine Freude.
Du sagst es :x

Verfasst: Dienstag 20. Juni 2006, 20:07
von murph
hier wünscht sich noch jemand was linux-konformes.

Verfasst: Mittwoch 21. Juni 2006, 07:35
von Wlad777
Hallo zusammen,

@ mawe: Ich bin zur Zeit im Büro und habe nur Windows zur Verfügung. Deshalb noch mal dasselbe im .ZIP:

http://kram-hochladen.de/index.php?p=do ... A4NzEyODcv

Zu Hause habe ich Ubuntu Linux drauf. Ich musste nur Paket "rar" über synaptic installieren und kann jetzt alle .RARs ohne Problemen entpacken.

Bis dann
Wlad777

Verfasst: Mittwoch 21. Juni 2006, 07:41
von mawe
Hi Wlad,

danke für die Mühe ... und nur kein Stress :)

Ich hab auch Ubuntu, nach "rar" hab ich peinlicherweise nie gesucht, sondern gleich nach "unrar" ... naja :)
Allerdings:
synaptic hat geschrieben: This program is shareware and you must register it after 40 days of use.
So viel zum Thema rar ;)

Gruß, mawe

Verfasst: Mittwoch 21. Juni 2006, 07:47
von Wlad777
Hi mawe,

Upps, habe gar nicht gesehen :oops: .

Ich würde sowieso lieber tar.gz benutzen, weiß aber nicht wie ich das unter Windoofs machen kann :evil: .
Hast du vielleicht 'nen Tipp :?:

Bis dann

Verfasst: Mittwoch 21. Juni 2006, 07:53
von mawe
Nö, keine Ahnung. Ein zip ist aber eh in Ordnung.

Verfasst: Mittwoch 21. Juni 2006, 08:20
von Wlad777
Ich hab da was gefunden:

http://www.tugzip.com/

Bei mir funktioniert's :D

Verfasst: Mittwoch 21. Juni 2006, 15:07
von Leonidas
Wlad777 hat geschrieben:Ich würde sowieso lieber tar.gz benutzen, weiß aber nicht wie ich das unter Windoofs machen kann :evil: .
Hast du vielleicht 'nen Tipp :?:
Sowohl die UnxUtils als auch GnuWin32 stellen die Programme GNU tar, gzip und bzip2 bereit, es sind Ports der Linux-Versionen.
Auch das exzellente 7-Zip kann neben 7-Zip (LZMA) Archiven auch ZIP und Tarballs erstellen.