昨日、UTF8 対応に改造した KlowShow ですが、
背景の 100% 透過ができないのがおしいかんじ。
(透明度を 0% にすると文字も読めなくなる)
というわけで、透明度を 0% に設定したときに
背景のみ完全透過(文字は 100% 不透明でくっきり)
になるように、ちょろっと改造してみました。
⇒ Download ※ 55MB あります
このアーカイブファイルを展開してできたファイルを全部
C:\Program Files\klogshow\ に置けば OK です(上書きコピー)。
Configure メニューで「Opacity」を "0" にしない限り、オリジナルと変わりません。
「Opacity」を "0" にすると、背景が消えて、文字だけ浮いた状態になります。
ちなみに、この状態ではウインドウの移動ができないので、移動したいときは
Opacity を 50% とかにして移動させてください。
以下、詳細。
====================
mainWindow.cpp を改造します。
% diff ../../org/src/mainWindow.cpp .
150c150,155
< setWindowOpacity ( ( double ) ( settings.value ( "opacity", DEFAULT_OPACITY ).toInt() ) / 100 );
---
> const int opacity = settings.value ( "opacity", DEFAULT_OPACITY ).toInt();
> if (opacity > 0) {
> setWindowOpacity ( (double)opacity / 100 );
> }
> this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint);
> this->setAttribute(Qt::WA_TranslucentBackground, true);
166c171,176
< palette.setColor ( QPalette::Window, colorBaseDefault );
---
> if (opacity > 0) {
> palette.setColor ( QPalette::Window, colorBaseDefault );
> } else {
> colorBaseDefault.setAlphaF((double)opacity/100);
> palette.setColor ( this->backgroundRole(), colorBaseDefault );
> }
265c275
< pal.setBrush ( QPalette::Window, QBrush ( gradient ) );
---
> // pal.setBrush ( QPalette::Window, QBrush ( gradient ) );
%
% vi Makefile.Release
%
% mingw32-make release
%
% mingw32-make release-install
%
Makefile.Release はちょっと手直ししないと動きません。
"-lQtGui4 -lQtCore4" を "-lQtGuid4 -lQtCored4" に変えたりとか。
そうしないと make に成功しても実行時にエラーになっちゃいます。
あと、"release-install" で以下のファイルもコピーしてあげる必要があります。
c:\Qt\2010.02.1\qt\bin\QtCored4.dll
c:\Qt\2010.02.1\qt\bin\QtGuid4.dll
c:\Qt\2010.02.1\qt\bin\libgcc_s_dw2-1.dll
====================
とりあえず Seaoak の環境で動いているだけなので、
うまく動かなかったらあきらめてください・・・。
もちろん無保証です。あしからず。
« xyzzy で XML を解析 |
トップページ
| ふぁぼりを Evernote へ »