qt for symbian 透明效果测试

来源:互联网 发布:俄罗斯加工贸易数据 编辑:程序博客网 时间:2024/05/16 14:14

在QDialog中实验结果:

1. setWindowOpacity

在dialog中实验,没效果!

 

2. QPalette

在构造函数中使用:

    QPalette pal = palette();
    pal.setColor(QPalette::Background, QColor(0x00,0x15,0x20,0x00));
    setPalette(pal);

将把最后一次对话框弹出的背景图片半透明显示出来,但是不能刷新背景图片,也就是说,如果背景本来是动态的,在此处无法显示出来。而且随着点击dialog,会出现变的不够透明的情况。

在后面加上setAutoFillBackground(true );也无济于事。

如果把这些写在paintEvent里面是没有效果的。

 

3. paintEvent

    在paintEvent里面

    QPainter p(this);
    p.setCompositionMode( QPainter::CompositionMode_Clear ); //CompositionMode_Source一样
    p.fillRect(rect(), QColor(0,0,0,80));

也是效果同上。全部都是静态的,不能动态传递背景图片。

 

以上静态均是使用了setSoftKeyRole,如果不使用则可以有动态背景透出。

 

EEikDialogFlagNoBackgroundFade标志在resource里面修改据说可以达到显示对话框的时候不会变灰的效果,不过还没有测试过,等以后试过了再说这个问题.

 

原创粉丝点击