QT實現螢幕滑動效果窗體

2021-09-30 06:28:03 字數 2239 閱讀 6875

class

cscrollscreenview

:public

qgraphicsview

//設定滾動的距離,單位:畫素

void

setscrolldist(

intdist)

//在父窗體上按場景位置顯示試圖

virtual

void

showview()

private

:

intm_animationduration;

//螢幕滾動動畫控制項

intm_scrolldist;

//螢幕滾動的距離

protected

:

void

resizeevent(

qresizeevent

*event)

//功能:滾動m_pform指向的檢視視窗

//引數:leftscroll為true則是向左滾動,否則是向右滾動;dist是滾動的距離

virtual

void

animationform(

bool

leftscroll,

intdist);

qwidget

*m_pparent;

bool

m_f_pressmouse;

qpoint

m_startdragpos;

qpoint

m_scrollstartpos;

qgraphicswidget

*m_pform;

qgraphicsscene

*m_pscene;

protected

slots

:

virtual

void

mousepressevent(

qmouseevent

*event);

virtual

void

mousereleaseevent(

qmouseevent

*event);

};
cscrollscreenview::cscrollscreenview(

qgraphicsscene

*pscene,

qwidget

*parent)

:qgraphicsview

(pscene,

parent)

void

cscrollscreenview::setlayout(

qgraphicslayout

*playout)

void

cscrollscreenview::animationform(

bool

leftscroll,

intdist)

else

if(leftscroll)

}
void

cscrollscreenview::mousepressevent(

qmouseevent

*event)

void

cscrollscreenview::mousereleaseevent(

qmouseevent

*event)

else

if(end_pos.x()

>

m_startdragpos.x())

}

}

m_f_pressmouse

=false

;

}

Qt 透明窗體實現

一.背景刷成黑色,前景色設為白色。方法一 paltette方式,經測試,該方法不會影響到其他控制項,推薦使用 qpalette bgpal palette bgpal.setcolor qpalette background,qcolor 0,0 0,255 bgpal.setcolor qpale...

Gesture實現手勢滑動效果

滑屏實現 通過android.view.gesturedetector類可以檢測各種手勢事件,該類有兩個 介面分別用來通知具體的事件 第一種 gesturedetector.ondoubletaplistener 用來通知doubletap事件,類似於滑鼠的雙擊事件,該介面有如下三個 函式 1.on...

win API實現窗體啟動效果

用windowsapi函式可以簡單實現你說的要求 這是我用過的 private declare function animatewindow lib user32 alias animatewindow byval hwnd as intptr,byval dwtime as integer,byv...