QT QMenu窗體的透明度

2022-05-04 21:42:36 字數 832 閱讀 6777

事例如下:建立了qmenu選單,設定透明度的效果:

設定前:

mymenu = new qmenu;

mymenu->setwindowopacity(1);//調節選單的透明度,範圍是1到0,1(完全不透明)到0(完全透明),如果不進行設定,預設的是1,可以把1改成零點幾看一下效果

qaction* openaction = new qaction(qstring::fromlocal8bit("開啟檔案"),null);

connect(openaction,signal(triggered()),this,signal(signal_open_file()));

mymenu->addaction(openaction);

qaction* registeraction = new qaction(qstring::fromlocal8bit("註冊檔案"),null);

connect(registeraction,signal(triggered()),this,signal(signal_register()));

mymenu->addaction(registeraction);

qaction* closeaction = new qaction(qstring::fromlocal8bit("關閉檔案"),null);

connect(closeaction,signal(triggered()),this,signal(signal_close()));

mymenu->addaction(closeaction);

mymenu->setstylesheet("qmenu qmenu::item:selected ");

透明度演算法

方法一 首先,要能取得上層與下層顏色的 rgb三基色,然後用 r,g,b 為最後取得的顏色值 r1,g1,b1是上層的顏色值 r2,g2,b2是下層顏色值 r r1 2 r2 2 g g1 2 g2 2 b b1 2 b2 2 以上為50 透明。若要使用不同的透明度用以下演算法 alpha 透明度 ...

透明度測試

shader custom testshader cutoff alpha cutoff range 0,1 0.5 subshader pass cgprogram pragma vertex vert pragma fragment frag include lighting.cginc fix...

初探透明度

透明度實現方式 在unity中實現透明度效果有兩種方案,一種是透明度測試,一種是透明度混合。透明度測試實現方式 既是片元的透明度和透明度閾值進行比較,小於這個透明度閾值的片元會直接被捨棄掉,不會做任何處理,相當於該片元透明。而大於這個透明度閾值的則會按照不透明的方式進行處理。實現 如下 shader...