pyqt實現乙個按住拖動有效果的按鈕

2021-10-08 16:11:56 字數 1132 閱讀 8417

看到有些部落格上有這種樣式的好看背景彩蛋,因此自己打算用qt去實現一下。這個樣式的實現主要基於控制項的重繪。

由於我的**過長,在此我只貼一下核心**。

def

paintevent

(self, qevent)

:global x, y

print

("重繪中···"

)# x,y=(0,0)

painter = qpainter(self)

painter.setrenderhint(qpainter.antialiasing,

true

)# 反鋸齒

# painter.setpen(qcolor(0,0,0,0))

painter.setbrush(qcolor(

255,

255,

255)

) painter.drawroundedrect(0,

0, self.width(

), self.height(),

6,6)

# painter.drawline(0,0,100,100)

if x==

0and y==0:

print

('x=0,y=0'

)#print('還在畫')

pass

else

:if x<

0or x>self.width(

)or y<

0or y>self.height():

pass

else

: painter.drawline(0,

0, x, y)

painter.drawline(

0, self.height(

), x, y)

painter.drawline(self.width(),

0, x, y)

painter.drawline(self.width(

), self.height(

), x, y)

模擬乙個盒子的拖動效果

博主的前端入門知識是在慕課網學的,當時有個demo,就是在網頁模擬乙個qq面板的拖動效果 如圖,用兩個div代替。效果是拖動中間的div,整個div跟著移動 今天來總結記錄一下。思路是當滑鼠按下時,開始計算元素距離螢幕左邊緣和上邊緣的距離,並同步賦予元素。這裡的關鍵點是對於js中元素與根元素 或者指...

實現乙個有趣的小效果

一 新建乙個project。二 新增兩個textview,並設定它的屬性。android id id tv one android layout width wrap content android layout height wrap content android text 瘋狂源自夢想,技術成...

實現乙個塗抹擦除效果

塗抹還是滿常見的效果。要做塗抹,首先要存一張中間貼圖作為mask。然後需要兩個shader,乙個做mask乙個做混合。maskshader shader unlit maskshader maskdecaltex mask decal texture 2d white maskoffset mask...