Infoausgabeprogramm zu Tkinter portieren

Fragen zu Tkinter.
Antworten
Benutzeravatar
du_ne
User
Beiträge: 11
Registriert: Mittwoch 3. Juni 2009, 11:12
Kontaktdaten:

Tag,
Ich versuche gerade ein kleines Programm zu scripten, welches ich hinbekommen habe. Das Programm soll, wenn man eine bestimmte ID in der Shell eingibt, 3 Informationen ausspucken. Es funktioniert alles, nun möchte ich dieses Programm auf Tkinter portieren. Ich möchte letztendlich das erreichen, was man auf dem Bild unten sehen kann(Skizze). bei (1) soll man die ID eingeben, danach erscheinen 3 Informationen in einem zusätzlichen Fenster(2). Klickt man auf (Help), so soll sich ein Fenster öffnen, mit Schriftinhalt.

Das Problem ist jetzt, dass ich mit Tkinter kleine Texte schreiben kann, und sie zum Laufen bekomme, aber keine Programme, wie ich es eben schrieb. Ich wäre sehr dankbar, für evtl. Beispielcodes, oder für einen Link für ein Programm mit ähnlichem Zweck. Ich möchte keinen kompletten Code hierfür, denn so tut man daraus nichts lernen. Ich danke im Voraus für jegliche Hilfe. :)

[EDIT]
Die Infos werden natürlich per Variablen gespeichert. ;)

Bild

[EDIT]
Ich habe jetzt mal den Script, wie er bisher für die Shell ist:

Code: Alles auswählen

# -*- coding: cp1252 -*-
# (c)by du_ne

def a():
    print ' '
    print ' '*5 + '-'*30
    print ' '*4 + '|'+ ' '* 10 + 'c4explode' + ' '*11 + '|'
    print ' '*5 + '-'*30
    print '#'*15 + ' '*10 + '#'*20
    print '#(c) by D.Ne\xdf' + ' #' + ' '*10 + '#' + ' for M. Strehling' + ' ' + '#'
    print '#'*15 + ' '*10 + '#'*20
    print ' '
    
    askhelp = raw_input('Hilfe?(j/n): ')
    
    if(askhelp == 'n'):
        c4explode()

    if(askhelp == 'j'):
        c4help()
        
def c4help():
    print ' _'*35
    print '*'*2 + 'Gebe c4info() ein, diese Hilfe erneut aufzurufen.'
    print '*'*2 + 'Gebe c4explode() ein, um eine ID einzugeben.'
    print ' _'*35

def c4info():
    print ' '
    print 'Willkommen im c4explode-Programm.\nMit diesem Programm ist es m\xf6glich, im Falle der Eingabe einer ID,\ndie Anzahl von Flints, Superflints\nund Teraflintsanzeigen zu lassen.'
    print ' '
        
def c4explode():
    textNO = "ID nicht verzeichnet, Nur Object.c4d/Structures.c4d-ID's verzeichnet."
    textHELP = "Willkommen im C4Explode-Programm.\nGebe die ID des Geb\xe4udes ein,\num die Sprengbeständigkeit anzeigen zu lassen."
    textINFO = "Made by du_ne\nEin Geburtstagsgeschenk für M. Strehling..."
    textHUT1 = ' '*14 + "Flint: 1\n" + ' '*14 + "Superflint: 1\n" + ' '*14 + "Teraflint: 1" 
    textHUT2 = ' '*14 + "Flint: 3\n" + ' '*14 + "Superflint: 2\n" + ' '*14 + "Teraflint: 2"
    textHUT3 = ' '*14 + "Flint: 5\n" + ' '*14 + "Superflint: 3\n" + ' '*14 + "Teraflint: 3"
    textCST1 = ' '*14 + "Flint: 7\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textCST2 = ' '*14 + "Flint: 9\n" + ' '*14 + "Superflint: 6\n" + ' '*14 + "Teraflint: 3"
    textCST3 = ' '*14 + "Flint: 20\n" + ' '*14 + "Superflint: 12\n" + ' '*14 + "Teraflint: 9"
    textWRKS = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 4"
    textSAWM = ' '*14 + "Flint: 5\n" + ' '*14 + "Superflint: 3\n" + ' '*14 + "Teraflint: 3"
    textRSRC = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textFNDR = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textCTW0 = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textFNDR = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textCHEM = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textDRCK = ' '*14 + "Flint: 3\n" + ' '*14 + "Superflint: 2\n" + ' '*14 + "Teraflint: 2"
    textELEV = ' '*14 + "Flint: 3\n" + ' '*14 + "Superflint: 2\n" + ' '*14 + "Teraflint: 2"
    textPOWR = ' '*14 + "Flint: 8\n" + ' '*14 + "Superflint: 5\n" + ' '*14 + "Teraflint: 4"
    textTWR1 = ' '*14 + "Flint: 9\n" + ' '*14 + "Superflint: 5\n" + ' '*14 + "Teraflint: 4"
    textTWR2 = ' '*14 + "Flint: 14\n" + ' '*14 + "Superflint: 9\n" + ' '*14 + "Teraflint: 7"
    textWMIL = ' '*14 + "Flint: 2\n" + ' '*14 + "Superflint: 1\n" + ' '*14 + "Teraflint: 1"
    textWTWR = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 5\n" + ' '*14 + "Teraflint: 3"
    textPUMP = ' '*14 + "Flint: 1\n" + ' '*14 + "Superflint: 1\n" + ' '*14 + "Teraflint: 1"
    textIDOL = ' '*14 + "Flint: 6\n" + ' '*14 + "Superflint: 4\n" + ' '*14 + "Teraflint: 3"
    textGIDL = ' '*14 + "Flint: 6\nSuperflint: 4\nTeraflint: 3"
    textNOTPOSSIBLE = "Durch Flints nicht zerst\xf6rbar"
    eingabe = raw_input('ID oder Name: ')
    if(eingabe == 'c4help()'):
        print textHELP
    if(eingabe == 'info()'):
        print textINFO
    if(eingabe == 'HUT1'):
        print textHUT1
    if(eingabe == 'HUT2'):
        print textHUT2
    if(eingabe == 'HUT3'):
        print textHUT3
    if(eingabe == 'CST1'):
        print textCST1
    if(eingabe == 'CST2'):
        print textCST2
    if(eingabe == 'CST3'):
        print textCST3
    if(eingabe == 'WRKS'):
        print textWRKS
    if(eingabe == 'SAWM'):
        print textSAWM
    if(eingabe == 'RSRC'):
        print textRSRC
    if(eingabe == 'FNDR'):
        print textFNDR
    if(eingabe == 'CHEM'):
        print textCHEM
    if(eingabe == 'DRCK'):
        print textDRCK
    if(eingabe == 'ELEV'):
        print textELEV
    if(eingabe == 'POWR'):
        print textPOWR
    if(eingabe == 'TWR1'):
        print textTWR1
    if(eingabe == 'TWR2'):
        print textTWR2
    if(eingabe == 'WMIL'):
        print textWMIL
    if(eingabe == 'WTWR'):
        print textWTWR
    if(eingabe == 'PUMP'):
        print textPUMP
    if(eingabe == 'IGLO'):
        print textNOTPOSSIBLE
    if(eingabe == 'SGNL'):
        print textNOTPOSSIBLE
    if(eingabe == 'IDOL'):
        print textIDOL
    if(eingabe == 'GIDL'):
        print textGIDL
    if(eingabe == 'ANVL'):
        print textNOTPOSSIBLE
    if(eingabe == 'Bambushütte'):
        print textHUT1
    if(eingabe == 'Holzhütte'):
        print textHUT2
    if(eingabe == 'Hütte'):
        print textHUT3
    if(eingabe == 'Kleine Burg'):
        print textCST1
    if(eingabe == 'Burg'):
        print textCST2
    if(eingabe == 'Schloss'):
        print textCST3
    if(eingabe == 'Werkstatt'):
        print textWRKS
    if(eingabe == 'Sägewerk'):
        print textSAWM
    if(eingabe == 'Forschungslabor'):
        print textRSRC
    if(eingabe == 'Hochofen'):
        print textFNDR
    if(eingabe == 'Chemielabor'):
        print textCHEM
    if(eingabe == 'Bohrturm'):
        print textDRCK
    if(eingabe == 'Fahrstuhl'):
        print textELEV
    if(eingabe == 'Kraftwerk'):
        print textPOWR
    if(eingabe == 'Kleiner Turm'):
        print textTWR1
    if(eingabe == 'Wachturm'):
        print textTWR2
    if(eingabe == 'Windrad'):
        print textWMIL
    if(eingabe == 'Zauberturm'):
        print textWTWR
    if(eingabe == 'Pumpe'):
        print textPUMP
    if(eingabe == 'Iglu'):
        print textNOTPOSSIBLE
    if(eingabe == 'Signal'):
        print textNOTPOSSIBLE
    if(eingabe == 'Statue'):
        print textIDOL
    if(eingabe == 'Goldstatue'):
        print textGIDL
    if(eingabe == 'Amboss'):
        print textNOTPOSSIBLE        
a()
Zuletzt geändert von du_ne am Donnerstag 4. Juni 2009, 18:22, insgesamt 1-mal geändert.
Ich bin neu hier.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo du_ne

Was sind deine Kenntnisse über Tkinter? Hast du schon etwas ausprobiert z.B. ein einfaches Hauptfenster?

Hier einige Links zum einarbeiten:
http://effbot.org/tkinterbook/
http://infohost.nmt.edu/tcc/help/pubs/tkinter/

Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
du_ne
User
Beiträge: 11
Registriert: Mittwoch 3. Juni 2009, 11:12
Kontaktdaten:

Ich habe schon ein einfaches Fenster mit "Hallo World" und mit verschiedenen fonts ausprobiert. Ich werde mir die Tutorials mal ansehen, danke hierfür, wuf. Ich lerne am besten jedoch, wenn es ein einfaches Beispiel gibt, welches das macht, was ich vorhabe, nur vllt. etwas einfacher, und modifizierbar. Auf keinen Fall möchte ich ein fertiges Script haben, denn dies würde den Lerneffekt weit hinabsetzen.
Ich bin neu hier.
Antworten