真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Qt模仿IOS滑動按鈕效果-創(chuàng)新互聯(lián)

這篇文章主要介紹Qt模仿IOS滑動按鈕效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)是專業(yè)的銅川網(wǎng)站建設(shè)公司,銅川接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行銅川網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

中我將介紹如何用Qt實(shí)現(xiàn)IOS形式的滑動按鈕。其實(shí)在Android中實(shí)現(xiàn)這個(gè)和在Qt中實(shí)現(xiàn)是一樣的道理的,只是使用的工具有所不同罷了。在Qt里面我們使用的是C++,而Android中則是Java。語言并不是決定的因素,而實(shí)現(xiàn)的思路才是最終決定勝負(fù)的利器。

1)、在Android中的繪制主要是在OnDraw這個(gè)函數(shù)里面進(jìn)行的,且可以在OnDraw外部寫函數(shù)進(jìn)行繪制,只需把Cavas傳入即可。而在Qt里面的繪制主要是在painEvent里面進(jìn)行的,且不能再外部寫函數(shù)實(shí)現(xiàn)它的繪制。

2)、在Android中承擔(dān)繪制的主要是Canvas這個(gè)對象,Painter主要是來進(jìn)行畫筆的定義和修改。而在Qt里面主要承擔(dān)繪制任務(wù)的是Painter對象,它既要充當(dāng)畫筆的角色,還要做為畫板來存在。

3)、在Android里面我們可以使用ValueAnimation來實(shí)現(xiàn)動畫刷新,而在Qt里面并沒用提供這樣的一個(gè)函數(shù),所以我們只能通過QTimer來主動刷新,具體代碼在下方。

4)、在兩份代碼里面懂提供了外部接口來訪問和讀寫它的狀態(tài)。

Qt模仿IOS滑動按鈕效果

Qt模仿IOS滑動按鈕效果

代碼如下

1、switchButton的頭文件

#ifndef SWITCHBUTTON_H
#define SWITCHBUTTON_H
 
#include 
#include
 
class switchButton : public QWidget
{
  Q_OBJECT
public:
  explicit switchButton(QWidget *parent = 0);
  void writeSwitchButtonState(bool ison);
  bool readSwitchButtonState();
private:
  bool ison=false;
  float currentValue;
  float widthSize,heightSize;
  QTimer *timer;
  void paintEvent(QPaintEvent *event);//繪制事件
  void mousePressEvent(QMouseEvent *event);//點(diǎn)擊事件
signals:
 
public slots:
private slots:
  void begainAnimation();
};
 
#endif // SWITCHBUTTON_H

網(wǎng)站名稱:Qt模仿IOS滑動按鈕效果-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/ccogjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部