Seite 1 von 1
Problem mit Phonon::VideoWidget
Verfasst: 28. Juni 2011 15:48
von yarikata
Hallo,
ich habe folgendes Problem:
In meinen Programm kann ich keinen StyleSheet dem Widget zuweisen.
Der Grund warum ich das nicht kann, habe ich schon herausgefunden:
Code: Alles auswählen
this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground);
Damit entferne ich zwar wie gewünscht den Rahmen und mache den Hintergrund unsichtbar, jedoch wird das Widget durchsichtig!
Wie kann ich das umgehen, ohne dabei den rahmenlosen Effekt zu verlieren?
matane
Verfasst: 28. Juni 2011 16:07
von Exasperation
Das ist nicht das Standardverhalten von Qt::FramelessWindowHint.
Auf welchem Betriebssystem?
Und was wird transparent? Dein ganzes Fenster? Transparent im Sinne von 50 % Deckkraft oder wird es unsichtbar?
Verfasst: 28. Juni 2011 16:17
von yarikata
Exasperation hat geschrieben:Das ist nicht das Standardverhalten von Qt::FramelessWindowHint.
Auf welchem Betriebssystem?
Und was wird transparent? Dein ganzes Fenster? Transparent im Sinne von 50 % Deckkraft oder wird es unsichtbar?
Das Programm ist auf Win7 64 Bit programmiert wurden.
Das Widget wird transparent, d.h. ich kann komplett durch das Widget sehen durchsehen.
Nebenbei: Ich habe mein Programmfenster selbst gezeichnet, d.h. abgerundete Ecken und eine Deckkraft von 90%.
Code: Alles auswählen
durchsichtig=0.9;
int rund (10);
QRect widgetrect=this->rect();
QPainter painter(this);
painter.save();
painter.setRenderHint(QPainter::Antialiasing);
QPainterPath roundedrect;
roundedrect.addRoundedRect(1,1,widgetrect.width()-2,widgetrect.height()-2,rund,rund);
painter.setClipPath(roundedrect);
painter.setOpacity(durchsichtig);
painter.fillPath(roundedrect,QBrush(Qt::gray));
QPen pen(Qt::black);
int rahmen =10;
pen.setWidth(rahmen);
painter.setPen(pen);
painter.setOpacity(durchsichtig);
painter.drawRoundedRect(rahmen/2,rahmen/2,this->width ()-rahmen,this->height ()-rahmen,rund-2,rund-2);
painter.restore();
qmbMenu->setGeometry (rahmen,rahmen,this->width ()-rahmen*2,20);
qtbToolBar->setGeometry (rahmen,rahmen+20,this->width ()-rahmen*2,20);
Aber das ist nicht das Problem. Das Problem liegt bzw. hängt mit den Code oben ab.
matane
Verfasst: 29. Juni 2011 08:48
von yarikata
Hat keiner eine Idee?