Fensterrahmen unsichtbar?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Hi,

Kann man mit PyQt den fensterrahmen unsichtbar machen?
So wie bei ICQ unter windows ?
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
franzf
User
Beiträge: 78
Registriert: Samstag 29. August 2009, 10:21

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 ;)
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

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?
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
franzf
User
Beiträge: 78
Registriert: Samstag 29. August 2009, 10:21

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.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Code: Alles auswählen

self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
Tuts bei mir
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Antworten