Seite 1 von 1

xturtle - fullscreen

Verfasst: Sonntag 6. Dezember 2009, 23:09
von LP640
hallo
gibt es eine möglichkeit, dass das xturtle-window direkt im fullscreen modus erscheint und wenn nicht, geht es, dass exe-dateien direkt als fulscreen ausgeführt werden können?

mfg
LP640

Verfasst: Montag 7. Dezember 2009, 12:55
von busfahrer
Es müsste in deinem Verzeichnis in dem "xturtle.py" liegt auch eine Config-Datei "xturtle.cfg" liegen,die beim Start ausgewertet wird.Die kannst du entsprechend bearbeiten.

Gruß...busfahrer

Verfasst: Montag 7. Dezember 2009, 15:51
von Pascal

Code: Alles auswählen

import Tkinter as tk
win = tk.Tk()
win.state('zoomed')
win.mainloop()
Und jetzt müsstes du nur noch das ganze an turtle anpassen.

Verfasst: Montag 7. Dezember 2009, 16:59
von LP640
hi
also eine xturtle.cfg hab ich nirgendwo auf meinem rechner auch nicht dort wo xturtle.py ist gefunden
wie man die idee von Pascal auf turtle anpassen kann hab ich auch nicht hinbekommen
bin jetzt so weit: für bildschirmauflösung: 1024 * 768 hab ich folgenden befehl:

Code: Alles auswählen

winsize(1024,768,0,0)
allerdings ist das kein wirklicher fullscreen und klappt auch nicht bei anderen auflösungen

hat jemand ne bessere lösung???

mfg
LP640

Verfasst: Montag 7. Dezember 2009, 17:30
von gkuhl
Was gefällt dir an dem Vorschlag von Pascal nicht?

Verfasst: Montag 7. Dezember 2009, 17:42
von LP640
Was gefällt dir an dem Vorschlag von Pascal nicht?
ich brauche das für xturtle und weiß nicht wie ich das nun anpassen kann
für tkinter klappt das natürlich prima

mfg
LP640

Verfasst: Montag 7. Dezember 2009, 17:45
von Dav1d
xturltle = tkinter

Verfasst: Montag 7. Dezember 2009, 18:17
von LP640
xturltle = tkinter
jaja xturtle ist sozusagen tkinter vereinfacht aber deshalb funktioniert der code von Pascal auch nicht

wie soll das denn jetzt gehen???

mfg
LP640

Verfasst: Montag 7. Dezember 2009, 18:36
von gkuhl
LP640 hat geschrieben:wie soll das denn jetzt gehen???
Schau dir den Quelltext von ``xturtle`` an und erweitere ihn dann um die fehlende Funktion. Da kann dir keiner helfen, weil es bisher vermutlich niemand gemacht hat. Aber du bekommst das schon irgendwie hin.

Verfasst: Montag 7. Dezember 2009, 19:01
von numerix
Oder nimm einfach frog statt xturtle, da geht das ganz einfach:

Code: Alles auswählen

from frog import Pool, Frog

pool = Pool(width=4000,height=3000)
frog = Frog(pool)
pool.ready()
Falls dein Monitor eine größere Auflösung als 4000x3000 px haben sollte, setzt du die Werte halt höher. Heraus kommt immer ein maximierter Pool.

Verfasst: Montag 7. Dezember 2009, 19:01
von Dav1d
@Pascal muss man da etwas besonderes beachten?

Ich bekomm xtrutle zwar in den FullScreen allerdings hängt sich das dann auf

//OK, winsize hängt sich auch auf, also sollte meins funktionieren

//Edit²: ach ich benutzte die Idle :P

//Edit³: Ich habs geschafft, ohne IDLE funktionierts perfekt! Als Hilfe für LP640, schau die an wo das "Tkinter-Fenster" in der Klasse RawTurtle erstellt wird, dann musst du nur noch eine Funktion zur Klasse hinzufügen, in der du auf das "Tkinter-Fenster" zugreifst

Verfasst: Montag 7. Dezember 2009, 19:30
von LP640
was muss ich den jetzt hier noch dran verändern???

Code: Alles auswählen

class RawTurtle(TPen, TNavigator):
    """Animation part of the RawTurtle.
    Puts RawTurtle upon a TurtleScreen and provides tools for
    it's animation.
    """
    canvases = []
    screens = []    
    ##DEFAULT_MODE = "standard"
        
    def __init__(self, canvas, shape = "arrow", mode = "standard"): 
        if canvas not in RawTurtle.canvases:
            RawTurtle.canvases.append(canvas)
            RawTurtle.screens.append(TurtleScreen(canvas))
        self.screenIndex = RawTurtle.canvases.index(canvas)
        TNavigator.__init__(self, mode)
        TPen.__init__(self)
        screen = self.screens[self.screenIndex]
        screen._turtles.append(self)
        self.drawingLineItem = screen._createline()
        self.turtle = _TurtleImage(self.screenIndex, shape)
        self._poly = None
        self._creatingPoly = False
        self._fillitem = self._fillpath = None
        self._hidden_from_screen = False
        self.currentLineItem = screen._createline()
        self.currentLine = [self._position]
        self.items = [self.currentLineItem]
        self.stampItems = []
        self._update()
mfg
LP640

Verfasst: Montag 7. Dezember 2009, 19:32
von Dav1d
Nichts, das habe ich auch nicht gesagt / geschrieben, aber die Klasse ist schonmal gut

Noch ein Tipp schau die auch die Klasse TPen und/oder TNavigator an in einer der beiden Klassen wird ein tk.TK() Objekt an einen Bezeichner/Variable gebunden und die brauchst du, dann gehts weiter mit der Funktion wie oben beschrieben

//Edit: Das macht ja richtig Spass:

Code: Alles auswählen

import xturtle as x

x.fullscreen()
x.right(90)
x.circle(300)
x.left(180)
x.circle(300)
x.mainloop()
//Edit²: Hab noch 2 weitere und einfachere Methoden gefunden, naja eine, die Andere wurde schon gepostet aber ignoriert :lol:

Verfasst: Montag 7. Dezember 2009, 20:12
von numerix
Pascal hat geschrieben:

Code: Alles auswählen

import Tkinter as tk
win = tk.Tk()
win.state('zoomed')
win.mainloop()
Und jetzt müsstes du nur noch das ganze an turtle anpassen.
Das ist allerdings eine reine Windows-Lösung. Der status "zoomed" ist z.B. auf Linux-Systemen nicht definiert und führt zum Programmabbruch.

Verfasst: Montag 7. Dezember 2009, 21:52
von busfahrer
@LP640
ich hab hier bei mir unter /usr/lib/python2.5/lib_tk die "xturtle.py" und eine "xturtle.cfg" liegen.Diese "xturtle.cfg wird wohl beim Start von xturtle aufgerufen(sofern vorhanden) und die Werte werden als Standard genommen.Das ist eine einfache Textdatei die im Original so aussieht

Code: Alles auswählen

width = 400
height = 300
canvwidth = 360
canvheight = 270
shape = turtle
mode = logo
importvec = True
language = german
Ausgehend von @numerix Vorschlag hab ich in die Config mal etwas utopische Werte für "width" und "height" gesetzt.Das Verhalten ist dann wohl wie beim Frog-Modul,das xturtle Fenster startet immer maximiert.

Code: Alles auswählen

width = 5000
height = 4000
canvwidth = 360
canvheight = 270
shape = turtle
mode = logo
importvec = True
language = german
Es wird also vermutlich am einfachsten sein,du legst dir einfach eine Datei "xturtle.cfg" an.

Gruß...busfahrer

Verfasst: Montag 7. Dezember 2009, 22:03
von Dav1d
Ganz und gar nicht,
die Lösung mit der Klasse ist nicht so toll
aber die Idee von Numerix
numerix hat geschrieben:Oder nimm einfach frog statt xturtle, da geht das ganz einfach:

Code: Alles auswählen

from frog import Pool, Frog

pool = Pool(width=4000,height=3000)
frog = Frog(pool)
pool.ready()
Falls dein Monitor eine größere Auflösung als 4000x3000 px haben sollte, setzt du die Werte halt höher. Heraus kommt immer ein maximierter Pool.

kann man auch mit der xturtle und winsize umsetzten