qdialog Abfrage ob exec_() is showing ?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Ernie1412
User
Beiträge: 160
Registriert: Freitag 10. Januar 2020, 20:38

wie kann ich ein dialog Fenster abfragen ob es offen ist ?
ich hab mehrere dialogfenster. ich möchte nicht jedes mal fürs Abbruch/Zurück Button eine extra definition erstellen, sondern abbragen obs offen ist und dann window.hide()
wenn "window" nicht offen ist dann gibts eine fehlermeldung , er kennt "window" nicht.
man kann es per try:... abfangen aber gibts da nicht was, ob es "window" gibt ?

Code: Alles auswählen

if self.window() is exec():self.window.hide()
if self.window1() is exec():self.window1.hide()
if self.window2() is exec():self.window2.hide()
so in etwa :)
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Wie verwendest du denn QDialog? Das klingt nämlich seltsam, was du da beschreibst. Da muss man gar nichts hiden, deshalb gibt es ja QDialog. Das kümmert sich um alles und sendet nur zwei Signale: accepted oder rejected, wenn ich mich richtig erinnere.
Ernie1412
User
Beiträge: 160
Registriert: Freitag 10. Januar 2020, 20:38

Löscht mein account hier
hier bekommt man nie nie never antworten auf fragen
ciao
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Ernie1412: Widgets haben eine `isVisible()`-Methode mit der man abfragen kann ob sie sichtbar sind. Aber wozu willst Du das wissen wenn Du sowieso nur `hide()` aufrufst, denn das kann man auch auf bereits nicht-sichtbaren Widgets aufrufen.

Ansonsten schliesse ich mich sparrow an: Das klingt komisch, denn wenn `exec()` verwendet wird, dann ist der Dialog ja modal und der Aufruf blockiert, so dass man keinen Grund hat zu testen ob der Dialog sich noch im `exec()`-Aufruf befindet.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

@Ernie1412: Ich verstehe deine Frustration nicht. Die Art der Anworten hat immer auch ein bisschen mit der Qualität der Frage zu tun. Und wenn man nur ein Häppchen serviert bekommt, das alleinstehend keinen Sinn ergibt, dann muss man den Rest erfragen. Diese Information kommt ja nicht auf magische Weise zu den Leuten, die helfen wollen.

Hast du schon einmal von SSCCE gehört? Ich kenne das eher aus der Java-Welt, aber das kann man natürlich auch bei Python anwenden. Zeig ein minimales, ausführbares Beispiel, das dein Problem zeigt - nicht ein bisschen Prosa, "irgendwie so" und ausgedachten Code.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ernie1412 hat geschrieben: Dienstag 24. Mai 2022, 22:58 Löscht mein account hier
hier bekommt man nie nie never antworten auf fragen
ciao
Zur Löschung bin ich nicht berechtigt. Das muss Damaskus erledigen. Wenn dir aber eine Sperrung reicht - das kann ich umgehend durchführen.
Ernie1412
User
Beiträge: 160
Registriert: Freitag 10. Januar 2020, 20:38

ich hab mich halt maßlos geärgert. Immer wenn ich als "Laie" fragen stelle, kommen nichtssagende Antworten, aber Hilfe bekommt man schwer.
evtl verlange oder besser erwarte ich hier eine konkrete Antwort von sogenannten "Profis", die gibts hier aber nicht, also konkrete Antworten.

Es ist wie als wenn man eine andere Sprache lernt und keiner sagen kann, wie das Dingen heisst was Früchte trägt.--> (Baum, Tree, árbol ...)
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Deine Frage war schlecht formuliert, ohne ausreichenden Kontext, mit erfundenem pseudo Code. Die ist nicht beantwortbar. Und wenn man dann nachfragt, um aus diesem Kauderwelsch irgendwie das eigentliche Problem zu eruieren, dann wirst du sofort pampig.

Leute wie du, die zwar wenig verstehen, aber sicher zu wissen glauben, das ihnen hier irgendwas vorenthalten wird, das ihnen irgendwie zustehen würde, und dann ihre Wut rauslassen - die sind mir ein maßloses Ärgernis.

Du darfst dir also mal selbst ganz fest an die eigene Nase packen, was das Thema unpassendes Verhalten in einem Forum angeht.
Antworten