[gelöst] GUI aktualisieren

Bitte benutzen Sie dieses Forum für Fragen, Kommentare und Probleme im Zusammenhang mit QCAD Professional

Moderators: andrew, Husky

Forum rules

Immer Betriebssystem und QCAD Version angeben.

Zeichnungsdateien und Bildschirmfotos beifügen.

Eine Frage pro Topic.

Post Reply
RR88
Full Member
Posts: 51
Joined: Sun Apr 29, 2018 7:04 am
Location: Leinefelde

[gelöst] GUI aktualisieren

Post by RR88 » Sat Mar 12, 2022 11:34 am

Gibt es auf Script-Ebene einen Befehl mit dem man die GUI aktualisieren kann? Wenn man ein Script ausführt und bspw. Ebenen löscht, dann sieht man diese noch im GUI, obwohl sie ja gelöscht wurden. Wenn man dann auf den Tab einer anderen Zeichung klickt und wieder zurückkehrt, dann sind die Ebenen weg. Ist bestimmt irgendwas von Qt, habs aber bisher nicht gefunden.
Arch Linux, QCad 3.22.0 Prof.

User avatar
andrew
Site Admin
Posts: 9037
Joined: Fri Mar 30, 2007 6:07 am

Re: GUI aktualisieren

Post by andrew » Sat Mar 12, 2022 2:36 pm

Wird eine solche Operation über RDocumentInterface getätigt (z.B. über applyOperation()), so wird das GUI automatisch aktualisiert. Operationen, die direkt im Dokument oder Storage ausgeführt werden fliegen gewissermassen unter dem Radar; d.h. die Grafikansichten und Widgets werden nicht aktualisiert.

Es hängt also vom Code ab.

RR88
Full Member
Posts: 51
Joined: Sun Apr 29, 2018 7:04 am
Location: Leinefelde

Re: GUI aktualisieren

Post by RR88 » Sat Mar 12, 2022 3:08 pm

Ich mache es via

_window = RMainWindowQt.getMainWindow();
di = _window.getDocumentInterface();
op = new RModifyObjectsOperation();
// ...
di.applyOperation(op);

Der übliche Weg also.
Arch Linux, QCad 3.22.0 Prof.

RR88
Full Member
Posts: 51
Joined: Sun Apr 29, 2018 7:04 am
Location: Leinefelde

Re: GUI aktualisieren

Post by RR88 » Sun Mar 13, 2022 1:20 pm

Sollte noch dazu sagen, dass undoable auf false steht.
Arch Linux, QCad 3.22.0 Prof.

RR88
Full Member
Posts: 51
Joined: Sun Apr 29, 2018 7:04 am
Location: Leinefelde

Re: GUI aktualisieren

Post by RR88 » Sun Mar 13, 2022 10:43 pm

Nachtrag: scheinbar hängt das wirklich mit dem false zusammen. Wenn ich undoable nicht explizit deaktiviere, dann wird die GUI richtig aktualisiert. Ich weiß nicht, ob das dann ein Bug ist.
Arch Linux, QCad 3.22.0 Prof.

User avatar
andrew
Site Admin
Posts: 9037
Joined: Fri Mar 30, 2007 6:07 am

Re: GUI aktualisieren

Post by andrew » Mon Mar 14, 2022 8:14 am

undoable sollte bei der aktuellen Zeichnung im GUI immer auf true gesetzt werden. false sollte nur verwendet werden in Kommandozeilenwerkzeugen (ohne GUI) oder in Zeichnungen, die ohne jegliche Benutzerinteraktion (off-screen) generiert werden ohne angezeigt zu werden.

RR88
Full Member
Posts: 51
Joined: Sun Apr 29, 2018 7:04 am
Location: Leinefelde

Re: GUI aktualisieren

Post by RR88 » Mon Mar 14, 2022 2:29 pm

Okay, dann ist das wohl so. Ich hatte es deaktiviert, weil ich zu viele Operationen hatte. Habe das jetzt mit einer Transaction Group gelöst. Da kann ich das undoable auch auf true lassen. :D
Arch Linux, QCad 3.22.0 Prof.

Post Reply

Return to “QCAD Professional”