Seite 1 von 1

Fensterrahmen unsichtbar?

Verfasst: Dienstag 10. November 2009, 20:13
von INFACT
Hi,

Kann man mit PyQt den fensterrahmen unsichtbar machen?
So wie bei ICQ unter windows ?

Verfasst: Dienstag 10. November 2009, 20:33
von franzf
Qt.FramelessWindowHint bei den QWidget.windowFlags aktivieren.
Du musst halt dann selber irgend was implementieren, dass das Fenster noch verschoben werden kann, usw. Ansonsten ist so ein nackeliges "Ding" recht nutzlos ;)

Verfasst: Dienstag 10. November 2009, 22:01
von INFACT
Cool, danke!

Kann man auch bei diesem script:

Code: Alles auswählen

import sys
from PyQt4 import Qt, QtCore, QtGui


class widget(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        
        self.layout = QtGui.QGridLayout()
        
        self.button = QtGui.QPushButton("button")
        self.layout.addWidget(self.button)
        self.setLayout(self.layout)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)

        self.connect(self.button, QtCore.SIGNAL("clicked()"),
                     sys.exit)

app = QtGui.QApplication(sys.argv)
w = widget()
w.show()
app.exec_()
Das irgentwie machen, dass der graue hintergrund transparent ist. Ich habe nämlich vor ein transparentes bild darauf zu platzieren, dass man dann dadurch gucken kann?

Verfasst: Mittwoch 11. November 2009, 20:08
von franzf
Unter X11 tut
QWidget.setWindowOpacity()
ganz doll.
1.0 == Full Opaque (0 Translucent)
0.0 == Full Translucent (0 Inhalt ;))

Die Doku sagt:
This feature is available on Embedded Linux, Mac OS X, Windows, and X11 platforms that support the Composite extension.

This feature is not available on Windows CE.

Note that under X11 you need to have a composite manager running, and the X11 specific _NET_WM_WINDOW_OPACITY atom needs to be supported by the window manager you are using.

Verfasst: Mittwoch 11. November 2009, 20:31
von INFACT

Code: Alles auswählen

self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
Tuts bei mir