Hi Community,
mein erster Post hier! Juchu!
Bin gerade dabei eine GUI zu programmiern, die immer im Vordergrund sein soll. Sprich, wenn man den focus des Programmes wechselt, soll dieses immer im Vordergrund bleiben.
Ich arbeite mit python 2.5.4 und der entsprechenden Qt version. Außerdem läuft das ganze auf einem Windowsrechner.
Kann mir irgendjemand helfen?
[pyqt] Always on Top
Qt erlaubt es, bestimmten Fenstern Flags zu verpassen. Unter den verfügbaren Flags gibt es "WindowStaysOnTopHint". Diesen Flag setzt du entweder über den Konstruktor oder über die windowFlags-Eigenschaft von QWidget.
Allerdings handelt es sich dabei unter X11 nur um eine Empfehlung an den Window-Manager. Diesem steht es frei, die Empfehlung zu ignorieren, zumal manche Window-Manager (insbesondere Tiling-WMs) so etwas wie "Vordergrund" gar nicht kennen. Zwar kann das umgangen werden, in dem man dem WM die Kontrolle über das Fenster entzieht, das aber ist in den seltensten Fällen empfehlenswert.
Allerdings handelt es sich dabei unter X11 nur um eine Empfehlung an den Window-Manager. Diesem steht es frei, die Empfehlung zu ignorieren, zumal manche Window-Manager (insbesondere Tiling-WMs) so etwas wie "Vordergrund" gar nicht kennen. Zwar kann das umgangen werden, in dem man dem WM die Kontrolle über das Fenster entzieht, das aber ist in den seltensten Fällen empfehlenswert.
-
- User
- Beiträge: 456
- Registriert: Mittwoch 15. April 2009, 14:11
Ich hab noch nicht so ganz verstanden wie ich diese Flags setzen kann.
So?
oder
wo self mein QWidget ist?
Edit: Beides scheint nicht zu klappen.
Beim 2. Beispiel sagt er, dass WindowStaysOnTopHint nicht finden kann.
Wie kann ich den die Konstanten ansprechen?
oder wie sieht der Code genau aus?
So?
Code: Alles auswählen
QtGui.QWidget.windowFlags("WindowStaysOnTopHint")
Code: Alles auswählen
self.setWindowFlags(WindowStaysOnTopHint)
Edit: Beides scheint nicht zu klappen.
Beim 2. Beispiel sagt er, dass WindowStaysOnTopHint nicht finden kann.
Wie kann ich den die Konstanten ansprechen?
oder wie sieht der Code genau aus?
Code: Alles auswählen
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
-
- User
- Beiträge: 456
- Registriert: Mittwoch 15. April 2009, 14:11
Bei mir kommt dann die Fehlermeldung:
Qt is not defined.
Ich importier nämlich die Module so:
Wie kann greif ich denn dann darauf zu?
Qt is not defined.
Ich importier nämlich die Module so:
Code: Alles auswählen
from PyQt4 import QtCore
from PyQt4 import QtGui
Code: Alles auswählen
QtCore.Qt.WindowStaysOnTopHint
Warum nicht so?anogayales hat geschrieben:Ich importier nämlich die Module so:
Code: Alles auswählen
from PyQt4 import QtCore from PyQt4 import QtGui
Code: Alles auswählen
from PyQt4 import QtCore, QtGui
-
- User
- Beiträge: 456
- Registriert: Mittwoch 15. April 2009, 14:11
Danke, klappt nun alles!
Auch das mit der Vereinfachung!
Auch das mit der Vereinfachung!
-
- User
- Beiträge: 29
- Registriert: Mittwoch 29. Oktober 2008, 21:29
- Wohnort: Chemnitz
- Kontaktdaten:
geht das auch mit Tkinter?
mind like a sieve
-
- User
- Beiträge: 29
- Registriert: Mittwoch 29. Oktober 2008, 21:29
- Wohnort: Chemnitz
- Kontaktdaten:
- .-
passt aber zum thema
passt aber zum thema
mind like a sieve
Das Thema dieses Forums und damit auch dieser Diskussion ist vor allem PyQt. Da passt Tkinter eher schlecht zum Thema
Aber es ist deine Sache, wenn Du glaubst, in diesem Forum wären viele Tkinter-Experten unterwegs … wer PyQt benutzt, hat in der Regel keine Verwendung mehr für Tkinter
Aber es ist deine Sache, wenn Du glaubst, in diesem Forum wären viele Tkinter-Experten unterwegs … wer PyQt benutzt, hat in der Regel keine Verwendung mehr für Tkinter
-
- User
- Beiträge: 29
- Registriert: Mittwoch 29. Oktober 2008, 21:29
- Wohnort: Chemnitz
- Kontaktdaten:
ääh, ich hantiere normalerweise auch mit tkinter und hab hierhergefunden -.-
mind like a sieve
Es geht ja nicht mal darum, ob man von den entsprechenden "Experten" gelesen wird, sondern dass die verschiedenen Unterforen hier ihren Sinn haben und man sich auch daran halten sollte. Die Zeit, die du hier mit deinem Gestänker verbringst, hättest du besser nutzen können für einen eigenen Thread im TKinter-Forum, sofern du denn ernsthaft an einer Antwort interessiert bist.
-
- User
- Beiträge: 29
- Registriert: Mittwoch 29. Oktober 2008, 21:29
- Wohnort: Chemnitz
- Kontaktdaten:
inzwischen nicht mehr
mind like a sieve
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Na das ist ja super, schmeißen wir alle Foren in das "Allgemeine Fragen"-Forum zusammen.Monty Python hat geschrieben:ääh, ich hantiere normalerweise auch mit tkinter und hab hierhergefunden -.-
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 29
- Registriert: Mittwoch 29. Oktober 2008, 21:29
- Wohnort: Chemnitz
- Kontaktdaten:
ok
mind like a sieve