相關(guān)推薦
您可能對下面課程感興趣
Python上位機(jī)開發(fā)教程

105小節(jié)已有8618人學(xué)過

Python上位機(jī)開發(fā)繼承和多態(tài)
發(fā)布時間:2024-11-20 09:32 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 快樂小女 閱讀: 89


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()

Python上位機(jī)開發(fā)教程
我要自學(xué)網(wǎng)商城 ¥80 元
進(jìn)入購買
文章評論
0 條評論 按熱度排序 按時間排序 /350
添加表情
遵守中華人民共和國的各項道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對下面課程感興趣
Python上位機(jī)開發(fā)教程

105小節(jié)已有8618人學(xué)過

分類選擇:
電腦辦公 平面設(shè)計 室內(nèi)設(shè)計 室外設(shè)計 機(jī)械設(shè)計 工業(yè)自動化 影視動畫 程序開發(fā) 網(wǎng)頁設(shè)計 會計課程 興趣成長 AIGC