Fenster wechseln über eine GUI Anwendung (Makro)

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
Post Reply
ReneB
Posts: 2
Joined: Thu Mar 16, 2017 8:55 am

Fenster wechseln über eine GUI Anwendung (Makro)

Post by ReneB »

Hallo Leute,

ich bin gerade dabei eine GUI Anwendung zu schreiben, die über diverse Methoden verfügt um Objekte im aktuellen aktivierten Dokument zu bearbeiten.

Um dieses GUI Benutzerfreundlich zu gestalten habe ich 2 Buttons eingebaut, die jeweils die Funktion, wechselFensterLinks und wechselFensterRechts besitzen.

Ich möchte, das man mit einem Klick einfach von Dokument zu Dokument wechselt.
Leider gelingt mir das nur zum Teil!!

Meine Methoden aktivieren zwar das Dokument, aber das neu aktivierte Dokument wird nicht im Fenster angezeigt.
So als ob ein "aktualisieren" fehlen würde...

Könnt ihr mir da weiterhelfen?

Code: Select all

		def wechselnFensterRechts(self):
			if(FreeCADGui.ActiveDocument.Document.Name[7:]==''):
				fenster_nummer=0
			else:
				fenster_nummer=int(FreeCADGui.ActiveDocument.Document.Name[7:])			

			if(fenster_nummer < len(App.listDocuments())):
				new_fenster=fenster_nummer+1
				new_doc_name="Unnamed"+str(new_fenster)
				App.setActiveDocument(new_doc_name)
				App.ActiveDocument=App.getDocument(new_doc_name)
				Gui.ActiveDocument=Gui.getDocument(new_doc_name)
				Gui.SendMsgToActiveView("ViewFit")
				#App.ActiveDocument.recompute()		

		def wechselnFensterLinks(self):
			if(FreeCADGui.ActiveDocument.Document.Name[7:]==''):
				fenster_nummer=0
			else:
				fenster_nummer=int(FreeCADGui.ActiveDocument.Document.Name[7:])
			
			if(fenster_nummer >0):
				new_fenster=fenster_nummer-1
				if (new_fenster==0):
					App.setActiveDocument("Unnamed")
					App.ActiveDocument=App.getDocument("Unnamed")
					Gui.ActiveDocument=Gui.getDocument("Unnamed")
					Gui.SendMsgToActiveView("ViewFit")
					#App.ActiveDocument.recompute()
				else:
					new_doc_name="Unnamed"+str(new_fenster)
					App.setActiveDocument(new_doc_name)
					App.ActiveDocument=App.getDocument(new_doc_name)
					Gui.ActiveDocument=Gui.getDocument(new_doc_name)
					Gui.SendMsgToActiveView("ViewFit")
					#App.ActiveDocument.recompute()
ReneB
Posts: 2
Joined: Thu Mar 16, 2017 8:55 am

Re: Fenster wechseln über eine GUI Anwendung (Makro)

Post by ReneB »

Hat sich erledigt.


Der Code um zwischen den Fenstern zu wechseln ist folgender:

Code: Select all

App.Gui.setActiveDocument(new_doc_name)

Beitrag kann geschlossen werden.
chrisb
Veteran
Posts: 53928
Joined: Tue Mar 17, 2015 9:14 am

Re: Fenster wechseln über eine GUI Anwendung (Makro)

Post by chrisb »

ReneB wrote:Beitrag kann geschlossen werden.
Schließen erfolgt dadurch, dass Du den Titel des ersten Beitrags änderst und den Text "[gelöst]" davorschreibst.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply