from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
class Button(QPushButton):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
self.is_pressed = False #用來追蹤鼠標(biāo)是否按下
def mousePressEvent(self, e):
self.is_pressed = True
self.update()
super().mousePressEvent(e)
def mouseReleaseEvent(self, e):
self.is_pressed = False
self.update()
super().mouseReleaseEvent(e)
def paintEvent(self, arg__1):
# super().paintEvent(arg__1)
painter = QPainter(self)
if self.is_pressed:
pen_color = Qt.blue
brush_color = Qt.green
pen = QPen(pen_color,6)
else:
pen_color = Qt.blue
brush_color = Qt.red
pen = QPen(pen_color, 2)
x = self.rect()
x.adjust(5,5,-5,-5)
painter.setPen(pen)
painter.setBrush(brush_color)
painter.drawEllipse(x)
class Window(QWidget):
def __init__(self):
super().__init__()
self.resize(800,600)
self.setWindowTitle("類的繼承")
self.btn = Button("button",self)
self.btn.move(50,50)
self.btn.resize(100,100)
self.btn.clicked.connect(lambda :print("按鈕被點擊了"))
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())
# class Animal:
# def speak(self):
# pass
#
# class Dog(Animal):
# def speak(self):
# print("汪汪汪汪")
#
# class Cat(Animal):
# def speak(self):
# print("喵喵喵喵")
#
#
# d = Dog()
# c = Cat()
# d.speak()
# c.speak()
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。