黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

【Qt】應用程序列表轉起來 in QT4.6

系統 2090 0

應用程序列表轉起來

?我的需求

拒絕應用程序列表的1234陳列圖標狀,實現360°轉動效果。

PS:錄制效果很卡,幀效果很差,實際效果很流暢,請發揮最完美的想象-_-||

?我的實現方案

我用 QPropertyAnimation 實現Button的轉動效果。思路就是,在一個周期時間里,對應改變Button的坐標位置。

為了讓效果看起來更平滑,更自然,建議多定義幾個狀態 0,0.3,0.5 ,0.7, 1為宜,根據屏幕大小具體分析。

QPropertyAnimation * animation = new QPropertyAnimation ( button , "geometry" );

animation->setDuration(clk);

animation->setKeyValueAt(0,QRect(x1, y1, w1, h1));

animation->setKeyValueAt(0.5,QRect((x1+x2)/2, (y1+y2)/2+20, ((w1+w2)*2)/3, (h1+h2)/2));

animation->setKeyValueAt(1,QRect(x2, y2, w2, h2));

在改變位置的同時,需要讓按鈕上的圖標圖片也隨著自然改變大小。

QPropertyAnimation * animationlefticon = new QPropertyAnimation ( button , "iconSize" );

animationlefticon -> setDuration ( clk );

animationlefticon -> setKeyValueAt ( 0 , QSize ( w1 , h1 ));

animationlefticon -> setKeyValueAt ( 0.5 , QSize (( w1 + w2 )/ 2 ,( h1 + h2 )/ 2 ));

animationlefticon -> setKeyValueAt ( 1 , QSize ( w2 , h2 ));

這樣僅僅是一幀的操作,即位置改變一次。(以第一個button為例,反復的從左邊的位置移到中間的位置)

怎么樣實現狀態的連續改變,怎么樣記錄每個按鈕當前的位置的信息值?

當應用程序列表中的程序個數大于3個,如何實現交替輪換其中的3個顯示?

———— 答案 是:用一個array[]來更新當前幀的位置信息

//用apparray記錄應用程序列表,用int f 來標記當前幀所指向的app

apparray[0] = button1;

apparray[1] = button2;

apparray[2] = button3;

......

apparray[n-1] = buttonn;

f = 1;

//每次改變狀態后,刷新當前位置

f++;

if(f<0) f=n-1;

if(f>n-1) f=0;

void update()

{

if((f-1)<0 ) left = apparray[2];

else left = apparray[f-1];

if((f+1)>n-1) right = apparray[0];

else right = apparray[f+1];

}

?寫在最后

歡迎交流,歡迎轉載,但是希望你尊重我,注明出處,謝謝。

——茜。

【Qt】應用程序列表轉起來 in QT4.6


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論