日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

【Qt】應(yīng)用程序列表轉(zhuǎn)起來(lái) in QT4.6

系統(tǒng) 1926 0

應(yīng)用程序列表轉(zhuǎn)起來(lái)

?我的需求

拒絕應(yīng)用程序列表的1234陳列圖標(biāo)狀,實(shí)現(xiàn)360°轉(zhuǎn)動(dòng)效果。

PS:錄制效果很卡,幀效果很差,實(shí)際效果很流暢,請(qǐng)發(fā)揮最完美的想象-_-||

?我的實(shí)現(xiàn)方案

我用 QPropertyAnimation 實(shí)現(xiàn)Button的轉(zhuǎn)動(dòng)效果。思路就是,在一個(gè)周期時(shí)間里,對(duì)應(yīng)改變Button的坐標(biāo)位置。

為了讓效果看起來(lái)更平滑,更自然,建議多定義幾個(gè)狀態(tài) 0,0.3,0.5 ,0.7, 1為宜,根據(jù)屏幕大小具體分析。

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));

在改變位置的同時(shí),需要讓按鈕上的圖標(biāo)圖片也隨著自然改變大小。

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 ));

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

怎么樣實(shí)現(xiàn)狀態(tài)的連續(xù)改變,怎么樣記錄每個(gè)按鈕當(dāng)前的位置的信息值?

當(dāng)應(yīng)用程序列表中的程序個(gè)數(shù)大于3個(gè),如何實(shí)現(xiàn)交替輪換其中的3個(gè)顯示?

———— 答案 是:用一個(gè)array[]來(lái)更新當(dāng)前幀的位置信息

//用apparray記錄應(yīng)用程序列表,用int f 來(lái)標(biāo)記當(dāng)前幀所指向的app

apparray[0] = button1;

apparray[1] = button2;

apparray[2] = button3;

......

apparray[n-1] = buttonn;

f = 1;

//每次改變狀態(tài)后,刷新當(dāng)前位置

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];

}

?寫在最后

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

——茜。

【Qt】應(yīng)用程序列表轉(zhuǎn)起來(lái) in QT4.6


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 镶黄旗| 成武县| 瑞昌市| 同德县| 勐海县| 丰顺县| 友谊县| 西吉县| 苍梧县| 乐亭县| 台湾省| 长顺县| 固安县| 琼海市| 渭源县| 河间市| 青川县| 沙河市| 海门市| 延长县| 台东县| 佛山市| 伊宁县| 馆陶县| 如东县| 潞西市| 樟树市| 溆浦县| 天津市| 万宁市| 天柱县| 康平县| 从化市| 分宜县| 双鸭山市| 长泰县| 金华市| 上饶县| 津南区| 翁源县| 济南市|