2012-04-11 4 views
1

Ich habe mich entschieden, an einem persönlichen Projekt zu arbeiten, um eine plattformübergreifende, MSPaint-ähnliche App zu entwickeln. Seltsamerweise finde ich, dass mspaint eine der Anwendungen ist, die ich am meisten unter Linux oder OS X vermisse, also möchte ich versuchen, etwas Ähnliches zu machen. Tuxpaint, mtpaint, gpaint usw. sind alle alt und inaktiv und hässlich. Ich möchte GIMP nicht machen, nur die Grundlagen, ähnlich wie MS Paint.Framework für Malprogramm

Ich denke daran, es in Python mit dem pygtk Toolkit zu tun, aber ich war daran interessiert, Ihre Vorschläge zu hören. Wäre C/C++ eine bessere Wahl, oder sogar C# (keuchen!) Mit Mono? Wie wäre es mit Qt im Gegensatz zu GTK, oder vielleicht eine andere schicke Bibliothek, die ich nicht kenne (Bitte nicht FLTK!). Ich wäre neugierig, deine Gedanken zu hören.

Danke!

+0

Sie nutzen könnten * Gimp * oder einfach * Inkscape * unter Linux. Und LibreOffice hat auch einige Zeichenfähigkeiten. –

+0

@BasileStarynkevitch keines dieser Werkzeuge hat die primitive Einfachheit des Notizblocks. Wenn etwas "gpaint" ist das am meisten Farbe, die ich gesehen habe. –

+0

Manchmal möchten Sie einfach ein Bild beschneiden, ein Stück Text hinzufügen oder es zum Spaß kritzeln. GIMP und Inkscape sind Overkill. gpaint wurde zuletzt im Jahr 2000 modifiziert, ist also veraltet. Ich denke, das wird ein lustiges Projekt, obwohl es wahrscheinlich nicht klappt. – user1091042

Antwort

3

Qt's Canvas-Objekt (oder sein neuerer Nachfolger QGraphicsView) kann ziemlich coole Dinge tun. Ob Sie C++ oder Python wählen, ist eine Frage der persönlichen Wahl, da Qt in beiden Sprachen unterstützt wird. Für ein einfaches Projekt wie dieses würde ich Python wählen, weil Killerleistung kein großes Problem ist und viel einfacher zu schreiben ist.

Eine andere Sache, in die Sie schauen müssen, ist diese App webbasiert mit dem HTML5-Canvas-Objekt und Javascript zu machen. Es kann überraschend robust sein und alles, was in die Cloud gebracht werden kann, ist in den meisten Fällen ein Gewinn.

0

Wenn Sie sich entscheiden, mit Python zu gehen (was meine Wahl wäre, weil es eine so einfache Sprache ist), dann wird TkInter als de-facto standard GUI package betrachtet. Dieser Link sollte Sie zu einigen ausgezeichneten Startreferenzen für TkInter schicken, obwohl ich auch den Vorschlag von Not_a_Golfer für eine HTML5 Web-App sehr mag.

+0

Ich habe tkinter noch nicht ausprobiert, und die meisten meiner Qt-Programme waren in C++, aber es war die beste C++ API für _anything_, mit der ich je gearbeitet habe . Wie sind die Canvas-Fähigkeiten von tkinter? BTW SDL wäre auch hier eine Option, aber wahrscheinlich ein Overkill. –

+0

Ich bin nicht die beste Person zu antworten, dass ich Angst habe, da ich hauptsächlich Python für die Textverarbeitung anstelle von GUI-Arbeit verwende. Ich empfahl TkInter einfach als die 'Pythonic' Wahl. Vielleicht kann jemand mit mehr GUI-Erfahrung als ich einen Kommentar zu Ihrer Frage hinzufügen. –

0

Kurz: Sie können beide verwenden, keine Drittanbieter-Bibliothek wird garantiert mit allen wichtigen Distributionen verteilt werden.

Long:

Gtk + vs. Qt

  • Was möchten Sie in Ihre Anwendung integrieren. Wenn Sie nur einen Pinsel auswählen und die Farbe auswählen, können Sie praktisch jedes GUI-Toolkit verwenden.

  • Wenn Sie es als ein webbasiertes Tool, Gtk + hat einen html5 Backend-Renderer (ich weiß nicht, über Qt)

Eine Bemerkung am Rande laufen gehen: Ich empfehle die verwenden toolkit native Programmiersprache (gtk + C, Qt C++) - wenn Sie dies nicht tun, werden Sie unter Verzögerungen mit Bugfixes leiden, im Allgemeinen mehr Bugs und verzögerte Freigaben, obwohl für diesen Fall es wirklich nicht wichtig sein sollte.

Alles andere läuft auf persönliche Vorlieben hinaus und es gibt bereits einige Fragen, um dieses Problem anzugehen.