qt 4.8.4 definir fundo de sombra

1. Definição de construção do QWidget de fundo da sombra
setFixedSize(900, 640);
setWindowFlags(Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground, true);
setWindowOpacity(0.7);
SetDlgLayout(); //Define a posição de exibição do subpeso
m_XXL = new SettingWgt(this);
//Dois wights são associados e fechados sincronizadamente
connect(m_ZBL, SIGNAL(SendClose()), this, SLOT(OnBtnExit()));
2. Shadow background image
void XXX::paintEvent(QPaintEvent * event )
{
QWidget::paintEvent(event);
QPainter painter(this);
painter.drawPixmap(0,0,900,640, QPixmap(“Resources/zz_bg”));
}
3. Exibição do QWidget filho
void XXX::SetShow()
{
m_XXL - >show();
}
4. O estilo do subdiálogo deve ser definido como o peso de nível superior do QDialog
setWindowFlags(/ Qt::WindowStaysOnTopHint | / Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint | Qt::Dialog);

5. Pontos-chave de implementação
Para fechar, você deve primeiro fechar o QWidget filho e depois fechar o QWidget pai

A exibição deve primeiro exibir o QWidget pai e, em seguida, exibir o QWidget filho

Acho que você gosta

Origin blog.csdn.net/u012842273/article/details/53940065
Recomendado
Clasificación