Ich brauche ein qt-Widget zu erstellen, die als Eltern für einige andere Widgets fungieren wird, und das wird sie bestellen.A qt-Widget mit vollständig transparenten Hintergrund
Jetzt ist die Frage, wie mache ich es Hintergrund völlig transparent?
dachte ich, es so zu tun:
struct Imp
{
Imp(QWidget *parent) : thisWidget(new QWidget(parent))
{
thisWidget->setAttribute(Qt::WA_TranslucentBackground, true);
}
QWidget *thisWidget;
};
Glauben Sie, dass ich das Attribut festlegen müssen, oder wird es ohne es in Ordnung geht zu arbeiten?
Brauchen Sie wirklich einen _transparent_ Hintergrund, oder ist es ausreichend, _no_ Hintergrund zu haben? Dies ist ein echter Unterschied: Mit einem transparenten Hintergrund teilt das Betriebssystem dem _unterlegenen_ Fenster mit, die Pixel zu malen. Ohne Hintergrund erwartet das Betriebssystem nur, dass die Kinder das gesamte Fenster malen. – MSalters
@MSalters Dieses Widget befindet sich in einem Fenster und nur die untergeordneten Widgets dieser Widgets sollten sichtbar sein. Was auch immer hinter diesem Widget (wenn nicht von einem Kind-Widget abgedeckt) ist, sollte gesehen werden. –
Ich bin mir nicht sicher, ob ich diese Frage verstehe ... standardmäßig wird in Qt4 ein QWidget nichts für seinen eigenen Hintergrund zeichnen und nur seine Kinder werden gezeichnet. –