Verschiebarkeit eines Dialoges deaktivieren

Alles rund um die Programmierung mit Qt
Antworten
QtNoob2008
Beiträge: 54
Registriert: 10. April 2008 08:27

Verschiebarkeit eines Dialoges deaktivieren

Beitrag von QtNoob2008 »

Hallo ,

ich hab folgendes Problem:
ich möchte einen geöffneten Dialog der nicht verschiebbar ist anzeigen. Im Dialog verwende ich eine Progressar die den Fortschritt anzeigt und diese wird, wenn ich den dialog move, nicht mehr aktualsiert. Anscheinend werden die Signale mit "Container Klassen" die entsprechende informationen beinhalten nicht mehr zum Dialog weiter geleitet wenn ich diesen move.

Gibts da eine Qt Methode ?
MouseEvents überschreiben und Drag&Drop hat leider nichts gebracht.

Danke im voraus!!!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ist das nicht der falsche Ansatz?

Hast du schon mal den Debugger angeworfen um zu kontrollieren warum nichts mehr ankommt?

Ansonsten wäre event. ein minimales reproduzierbares Beispiel nicht schlecht.
QtNoob2008
Beiträge: 54
Registriert: 10. April 2008 08:27

Beitrag von QtNoob2008 »

Ein Beispiel kann ich dir zu leid es mir tut nicht liefern, da Firmenentwicklung, zumal wäre das nicht minimal.

Vielleicht als weitere Information:
Also generell sind dort 2 Threads (GUI und Worker). Der Worker wird mit Exec gestartet und versendet während er die Operation ausführt immer nen Klasseobjekt (Container) welches unter anderem den Fortschritt beinhaltet auf einen Slot des Gui Threads. An diesem Slot wird der Fortschritt an das geöffnete Fenster Widget weiter geleitet (direkter Methodenaufruf)

Zudem muss mich korrieren, es ist kein richtiger Dialog, sondern ein Widget welches ich über show Aufrufe (Dieses beinhaltet nur eine Progressbar und einen Button).
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das Widget entspricht aber nicht zufälligerweise einem QProgressDialog?

Außerdem ist immer noch nicht klar, ob die Daten auch bei deiner ProgressBar ankommen, aber das verrät dir immer noch dein Debugger.
QtNoob2008
Beiträge: 54
Registriert: 10. April 2008 08:27

Beitrag von QtNoob2008 »

Nein ist ein einfaches QWidget auf dem eine ProgressBar und ein Button positioniert ist. (Wusste nicht das es da einen speziellen Dialog gibt)
Sollte ja eigentlich nicht notwendig sein diesen zu verwenden weil es ja auch mit dem Widget gehen muss oder sehe ich das falsch ?

Ne die kommen nicht an, das habe ich getestet. Es sieht so aus als ob der Worker steht ........, denn es kommt keine Debug Ausgabe solange ich das Window Widget festhalte.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Ein Widget mit Windowflag Qt::FramelessWindowHint (oder wie das heisst) kann nicht verschoben werden....
QtNoob2008
Beiträge: 54
Registriert: 10. April 2008 08:27

Beitrag von QtNoob2008 »

Ja das wäre die denkbare alternative. Aber es muss ein "Standard" Dialog sein.


Anscheinend ist es ein Bug:

http://www.qtsoftware.com/developer/tas ... &id=146849

Hab es gelöst indem ich die Daten die ich darstelle so lange sende, bis ich mit finish den "state" ändere und in der Schleife wo ich sende, checke ob state geändert wurde.

Gruß QtNoob
Antworten