Programación de la aplicación QT: realización de la ventana de máscara translúcida

1. Introducción medioambiental

Introducción al sistema operativo: win10 64 bit

Versión QT:  5.12.6

2. Introducción de requisitos

Cuando mostramos algunos cuadros de diálogo modales, a menudo necesitamos oscurecer el color de fondo del cuadro de diálogo para lograr el efecto de resaltar el cuadro de diálogo actual.

Por ejemplo: la ventana principal del cuadro de diálogo se oscurece, excepto la barra de título, y el efecto de visualización del cuadro de diálogo se enfatiza en comparación con la ventana principal.

Este diseño es más común en las páginas web. Cuando el usuario hace clic en un botón como comprar, aparecerá un cuadro de diálogo de confirmación de la lista de compras en la página y el contenido fuera del cuadro de diálogo se procesará con un efecto similar al de la figura. para que el usuario pueda enfocarse en el diálogo mismo.

 

En tercer lugar, el código de implementación

/*
日期: 2021-01-02
作者: DS小龙哥
环境: win10 QT5.12.6 MinGW32
功能: 打开遮罩窗体
*/
void Widget::on_pushButton_clicked()
{
    QWidget mask_window(this);
    //设置窗体的背景色,这里的百分比就是透明度
    mask_window.setStyleSheet(QString("background-color: rgba(0, 0, 0, 20%);"));
    mask_window.setGeometry(this->rect()); //获取父窗体的几何形状设置当前窗口
    mask_window.show();
    //对话框
    QMessageBox::information(this,"提示","遮罩框已打开",QMessageBox::Ok,QMessageBox::Ok);
    //关闭窗口
    mask_window.close();
}

 

Supongo que te gusta

Origin blog.csdn.net/xiaolong1126626497/article/details/112100900
Recomendado
Clasificación