为了账号安全,请及时绑定邮箱和手机立即绑定

Python QT 更改按钮的背景颜色,而不仅仅是边框

Python QT 更改按钮的背景颜色,而不仅仅是边框

慕娘9325324 2021-06-29 15:06:32
我正在尝试使用 python Qt 更改边框的背景颜色,但只设置了边框。这是代码:from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import * from PyQt5.QtCore import pyqtSlotimport mathimport sysclass Frame(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):              self.setGeometry(300, 100, 1000, 500)        pal = QPalette()        self.setAutoFillBackground(True)        self.setPalette(pal)        button = QPushButton('Clear Knots')        button.clicked.connect(quit)        pal.setColor(QPalette.Button, QColor(255,0,0,255))        button.setPalette(pal)        button.setAutoFillBackground(True)        #button.setStyleSheet("background-color: red;")        Layout = QGridLayout()        Layout.addWidget(button, 2,0)        self.setLayout(Layout)        self.show()if __name__ == '__main__':    app = QApplication(sys.argv)    ex = Frame()    sys.exit(app.exec_())结果:
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

尝试一下:


import sys

from PyQt5.QtWidgets import QWidget, QHBoxLayout, QPushButton, QApplication

from PyQt5.QtGui     import QIcon

from PyQt5.QtCore    import pyqtSlot, QSize



class Window(QWidget):


    def __init__(self, *args, **kwargs):

        super(Window, self).__init__(*args, **kwargs)


        self.setGeometry(800, 65, 500, 200)


        layout = QHBoxLayout(self)

        layout.addWidget(QPushButton("red button", self,

                                     objectName="RedButton", minimumHeight=48))

        # ----------------------------------------------------------------------

        button = QPushButton('  \n   PyQt5\n   button\n  ', self, 

                                     objectName="GreenButton", minimumHeight=48)

        button.setIcon(QIcon("E:/_Qt/img/qt-logo.png"))

        button.setIconSize(QSize(48, 48))                                     

        layout.addWidget(button) 

        # ----------------------------------------------------------------------


        layout.addWidget(QPushButton("blue button", self,

                                     objectName="BlueButton", minimumHeight=48))

        layout.addWidget(QPushButton("orange button", self,

                                     objectName="OrangeButton", minimumHeight=48))

        layout.addWidget(QPushButton("purple button", self,

                                     objectName="PurpleButton", minimumHeight=48))



StyleSheet = '''

QPushButton {

    border: none;

}

QPushButton#RedButton {

    background-color: #f44336;

}

#RedButton:hover {

    background-color: #e57373; 

    color: #fff;

}

#RedButton:pressed { 

    background-color: #ffcdd2; 

}

#GreenButton {

    background-color: #4caf50;

    border-radius: 5px;       

}

#GreenButton:hover {

    background-color: #81c784;

    color: #fff;              

}

#GreenButton:pressed {

    background-color: #c8e6c9;

}

#BlueButton {

    background-color: #2196f3;

    min-width:  96px;

    max-width:  96px;

    min-height: 96px;

    max-height: 96px;

    border-radius: 48px;        

}

#BlueButton:hover {

    background-color: #64b5f6;

}

#BlueButton:pressed {

    background-color: #bbdefb;

}

#OrangeButton {

    max-height: 48px;

    border-top-right-radius:   20px;   

    border-bottom-left-radius: 20px;   

    background-color: #ff9800;

}

#OrangeButton:hover {

    background-color: #ffb74d;

}

#OrangeButton:pressed {

    background-color: #ffe0b2;

}


QPushButton[text="purple button"] {

    color: white;                    

    background-color: #9c27b0;

}

'''


if __name__ == "__main__":

    app = QApplication(sys.argv)

    app.setStyleSheet(StyleSheet)

    w = Window()

    w.setWindowTitle("Demo color-button")

    w.show()

    sys.exit(app.exec_())

//img1.sycdn.imooc.com//60e40de50001f33904950228.jpg

查看完整回答
反对 回复 2021-07-06
  • 1 回答
  • 0 关注
  • 663 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号