A Python Calculator for GTK+

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Benutzeravatar
Wlad777
User
Beiträge: 6
Registriert: Montag 12. Juni 2006, 15:50
Wohnort: Niedereschach-Kappel

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
Zuletzt geändert von Wlad777 am Dienstag 8. August 2006, 08:13, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Wlad777
User
Beiträge: 6
Registriert: Montag 12. Juni 2006, 15:50
Wohnort: Niedereschach-Kappel

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
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

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
Benutzeravatar
Wlad777
User
Beiträge: 6
Registriert: Montag 12. Juni 2006, 15:50
Wohnort: Niedereschach-Kappel

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

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 :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hast du pycairo installiert? Gibts von der gleichen Seite wie die PyGTK win32 builds.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

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

Gruß, mawe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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* :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Jaha, mit dem nonfree hats jetzt funktioniert.
Leonidas hat geschrieben:Hach, proprietäre Formate sind doch immer wieder eine Freude.
Du sagst es :x
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

hier wünscht sich noch jemand was linux-konformes.
Benutzeravatar
Wlad777
User
Beiträge: 6
Registriert: Montag 12. Juni 2006, 15:50
Wohnort: Niedereschach-Kappel

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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
Benutzeravatar
Wlad777
User
Beiträge: 6
Registriert: Montag 12. Juni 2006, 15:50
Wohnort: Niedereschach-Kappel

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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Nö, keine Ahnung. Ein zip ist aber eh in Ordnung.
Benutzeravatar
Wlad777
User
Beiträge: 6
Registriert: Montag 12. Juni 2006, 15:50
Wohnort: Niedereschach-Kappel

Ich hab da was gefunden:

http://www.tugzip.com/

Bei mir funktioniert's :D
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten