Qt實現視窗輪播效果

2021-10-13 12:21:37 字數 1667 閱讀 7701

效果圖如下:

思路是將需要輪播的視窗過載乙個類,放入qstackedwidget中,通過定時器和qpushbutton控制qstackedwidget中的視窗切換實現輪播效果。

過載乙個視窗類命名imageitemwidget

輪播視窗類引數設定

class imageinfo

};

輪播視窗類引數匯入

void imageitemwidget::setvalueandstyle(imageinfo pevent)

}

建立顯示輪播視窗類imagecarouselwidget

//資料

for (int i = 0; i < 5; i++)

輪播按鈕建立

void imagecarouselwidget::initchangebutton()

\ qpushbutton:checked");

m_changebuttongroup->addbutton(pbutton, i);

ui.horizontallayout->addwidget(pbutton);

} ui.horizontallayout->addstretch();

ui.horizontallayout->setspacing(20);

ui.horizontallayout->setmargin(0);

//預設第乙個顯示

if (m_pchangebuttonlist.size() > 0)

connect(m_changebuttongroup, signal(buttonclicked(int)), this, slot(sltswitchbuttonclicked(int)));

}

輪播按鈕槽函式切換視窗實現

void imagecarouselwidget::sltswitchbuttonclicked(int index)

void imagecarouselwidget::initchangebuttoncheckable(int index)

m_carouseltimer.stop();

m_carouseltimer.start(3000);

ui.stackedwidget->setcurrentindex(index);

}

建立並初始化定時器

m_carouseltimer.settimertype(qt::precisetimer);

connect(&m_carouseltimer, &qtimer::timeout, this, &vannualevent::sltcarouseltimerout);

m_carouseltimer.start(3000);

定時器槽函式控制視窗輪播

void imagecarouselwidget::sltcarouseltimerout()

vue實現輪播效果

效果如下 不好意思,圖有點大 功能 點選左側,右側出現相應的 同時左側邊框變顏色。for leftimg,index in leftimgs key index for leftimg,index in leftimgs key index c 如果左側不是,而是文字的話 可以把 width 130...

Android實現Banner輪播效果

純粹為了保持 風格的一致性,也可以用xml布局來實現。private view createbannerview public class banner public string getname public string getimgurl public string gettargeturl ...

Vue使用swiper實現輪播效果

1 swiper 初始化 slider2 slider3 我設定的引數 initswiper function pagination observer true,啟動動態檢查器 ob 觀眾 者 當改變swiper的樣式 例如隱藏 顯示 或者修改swiper的子元素時,自動初始化swiper。obse...