probleme mit einem about fenster...

Fragen zu Tkinter.
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Montag 19. Januar 2004, 19:07

2.3.2 (active python),
ich glaube da is tcl/tk 8.4 (kann mich auch irren mit der version) dabei
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Montag 19. Januar 2004, 21:22

hmm komisch hab ich auch. Warum packst Du das ganze nicht in eine Funktion, die dann das Aboutfenster aumacht und beim druck auf ok schließt?
Und die Funktion importierst aus dem Modul.

Gruß

Dookie
Benutzeravatar
wuf
User
Beiträge: 1361
Registriert: Sonntag 8. Juni 2003, 09:50

Beitragvon wuf » Montag 19. Januar 2004, 23:09

Hallo OLF & Dookie

Es ist schon so, dass mein Script
eigendlich aus zwei besteht, ich
hätte diese separat auflisten müssen.
Ich muss noch ein wenig mit dem Forum-
Editor üben um eine bessere Darstellung
hinzukriegen.
Mein Vorschlag besteht aus einem Haupt-
script und dem About-Script.

Gruss wuf
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Dienstag 20. Januar 2004, 12:31

also würdest du die klasse in eine seperate datei (bei mir about.py) schreiben?
ich weiß was du meinst, aber ich komme mir deinem post, in dem der ganze code (als eine datei) steht nicht ganz klar :oops:
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Dienstag 20. Januar 2004, 14:48

Ich zerleg mal den Code von wuf

Hauptscript

Code: Alles auswählen

#! Python
# -*- coding: UTF-8 -*-

# Hauptscript

from Tkinter import *
from About   import *

def ende():
   fenster.destroy()

def info():
   About(content)

if __name__ == '__main__':
   fenster = Tk()

   ScreenWidth  = fenster.winfo_screenwidth()
   ScreenHeight = fenster.winfo_screenheight()

   xpos   = 0
   ypos   = 0
   width  = 300
   height = 100
   fenster.wm_geometry("%dx%d+%d+%d" % (width,height,xpos,ypos))

   fenster.title('Hauptfenster')

   content =  "bla\nbla\nbla\n...\n"
   content += "Here comes DER OLF\n"
   content += "the camel hunter!"

   cancel_button = Button(fenster, text = "Schliessen", command = ende)
   cancel_button["height"] = 1
   cancel_button["width"] = 12
   cancel_button["border"] = 3
   cancel_button.pack(side=BOTTOM)

   Info_button = Button(fenster, text = "About", command = info)
   Info_button["height"] = 1
   Info_button["width"] = 12
   Info_button["border"] = 3
   Info_button.pack(side=BOTTOM)

   fenster.mainloop()

Aboutscript, wird vom Hauptscript importiert

Code: Alles auswählen

from Tkinter import *
class About(Toplevel):
   def __init__(me,meldung='About'):

      #~~ Initialisierung eines Rahmenlosen Toplevelfenster
      Toplevel.__init__(me)
      # Erzeugt Rahmenloses Fenster
      me.overrideredirect(TRUE)
      # Sperrt Schaltflächen auf dem Hauptfenster
      me.grab_set()

      # Berechnung für ein Bildschirmzentriertes About-Fenster
      width        = 250
      height       = 150
      ScreenWidth  = me.winfo_screenwidth()
      ScreenHeight = me.winfo_screenheight()
      xpos         = (ScreenWidth-width)/2
      ypos         = (ScreenHeight-height)/2

      me.geometry("%dx%d+%d+%d" % (width,height,xpos,ypos))
      me.title ('About..')

      me['bg']     = 'steelblue'
      me['bd']     = 3
      me['relief'] = RAISED

      aboutlbl = Label(me,anchor="center", text= meldung,bg=me['bg'],fg="yellow")
      aboutlbl.pack(padx=5,pady=5)

      ok_button = Button(me, text = "OK",
                     highlightbackground = me['bg'],
                     command = me.destroy
                     )
      ok_button.pack(padx=5,pady=5)

eventuell solltest me im Aboutscript noch durch self ersetzen. Lauffen tuts auch so, aber in Python verwendet man self bei Methoden als erstes Argument.


Gruß

Dookie
Benutzeravatar
wuf
User
Beiträge: 1361
Registriert: Sonntag 8. Juni 2003, 09:50

Beitragvon wuf » Donnerstag 22. Januar 2004, 01:18

Hallo Dookie

Deine Neudarstellung meines Scripts für
die About-Anwendung gefällt mir sehr!
Besteht für mich irgend wie die Möglichkeit
deine Scriptdarstellung in den Forum-Editor
zurück zu lesen um mehr zu erfahren, welche
Steuercodes du verwendet hast und wie diese
im editierten Text platziert werden müssen
um deine Textformatierung zu bekommen.

Besten Dank für deine Bemühung.

Gruss wuf
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Donnerstag 22. Januar 2004, 01:28

Hi wuf,

ich hab eigentlich nicht viel gemacht,
einfach auf den code-button oben in der Buttonleiste unter dem Feld für den Titel geklickt, dann unten bis zu Deinem Posting mit dem Source gescrollt und den ersten Teil vom Source markiert, dann den Text mit mittlerer Maustaste (Linuxtypisch) ins Eingabefeld für mein Posting kopiert.
Danach nochmal auf den code-button geklickt um das code-tag zu schliessen.
Dann hab ich den Text der zwischen den Scripts steht reingeschrieben und wieder den code-button angeklickt und den 2. Teil vom source markiert und copiert. nochmal code-button angeklickt und den Rest von meinem Text geschrieben - fertig.


Gruß

Dookie
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Montag 9. Februar 2004, 16:48

hey, danke für das script. ich hab am anfang gar nicht kapiert, was die klasse eigentlich bewirkt, aber jetzt hab ich das verstanden. ;)

Wer ist online?

Mitglieder in diesem Forum: wuf