J'ai besoin de créer un widget qt, qui agira comme parent pour d'autres widgets, et qui les ordonnera. Maintenant, la question est de savoir comment rendre son arrière-plan entièrement transparent?Un widget qt avec un fond entièrement transparent
Je pensais que de le faire comme ceci:
struct Imp
{
Imp(QWidget *parent) : thisWidget(new QWidget(parent))
{
thisWidget->setAttribute(Qt::WA_TranslucentBackground, true);
}
QWidget *thisWidget;
};
Pensez-vous que je dois définir l'attribut, ou est ce que ça va fonctionner très bien sans elle?
Avez-vous vraiment besoin d'un arrière-plan _transparent_, ou est-il suffisant d'avoir _no_ fond? C'est une vraie différence: avec un fond transparent, le système d'exploitation dira à la fenêtre _underlying_ de peindre les pixels. Sans arrière-plan, le système d'exploitation s'attend simplement à ce que les enfants peignent toute la fenêtre. – MSalters
@MSalters Ce widget est placé dans une fenêtre, et seuls les widgets enfants de ce widget doivent être visibles. Tout ce qui est derrière ce widget (s'il n'est pas couvert par un widget enfant) doit être vu. –
Je ne suis pas sûr de comprendre cette question ... par défaut dans Qt4, un QWidget ne dessine rien pour son propre fond, et seuls ses enfants seront dessinés. –