PyQt学习笔记(三)切换颜色

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox, QToolTip,
QLineEdit, QGridLayout, QTextEdit, QFrame # 控件
from PyQt5.QtGui import QIcon, QFont,QColor # Qicon设置图标,QfFont设置字体
from PyQt5 import QtGui, QtWidgets

class MyClass(QWidget):
def init(self):
super().init()
self.initUI()

def initUI(self):
    #self.color=QColor(0,0,0)#颜色配置
    self.setGeometry(500, 150, 700, 600)  # 正常屏
    # self.resize(400,300)
    self.setWindowTitle("通话")  # 设置窗口名称window1.py:10
    # 日历
    # date = QtWidgets.QWidget(self)
    # date.setObjectName("centralwidget")
    # calendarWidget = QtWidgets.QCalendarWidget(date)
    # calendarWidget.setGeometry(QtCore.QRect(100, 100, 488, 311))
    # calendarWidget.setObjectName("calendarWidget")
    btn2 = QPushButton(QIcon("./picture/phone.png"), "电话", self)  # 窗口中显示图标按钮
    btn2.move(200, 450)  # 位置设置
    btn3 = QPushButton(QIcon("./picture/phonedown.png"), "挂断", self)  # 窗口中显示图标按钮
    btn3.move(300, 450)  # 位置设置
    btn4 = QPushButton(QIcon("./picture/video.png"), "视频", self)  # 窗口中显示图标按钮
    btn4.move(400, 450)  # 位置设置
    btn3.clicked.connect(self.close)  # 关闭窗口
    red = QPushButton("红", self)
    #red.setCheckable(True)#设置可以被选中保持状态
    red.move(200, 350)  # 位置设置
    red.clicked[bool].connect(self.setcolor)

    blue = QPushButton("蓝", self)
    #blue.setCheckable(True)
    blue.move(300, 350)  # 位置设置
    blue.clicked.connect(self.setcolor)

    pink = QPushButton("粉", self)
    #pink.setCheckable(True)
    pink.move(400, 350)  # 位置设置
    pink.clicked[bool].connect(self.setcolor)

    self.myframe = QFrame(self)
    self.myframe.setGeometry(100,50,470,280)
    self.myframe.setStyleSheet("QWidget{background-color:pink}")

    self.show()

def closeEvent(self, event):
    result = QMessageBox.question(self, "提醒", "您确定要结束通话吗")  # 弹出消息提醒框
    if result == QMessageBox.Yes:  # 判断
        event.accrpt()  # 允许
    else:
        event.ignore()  # 忽略
        QMessageBox.information(self, "消息", "请继续通话")  # 弹窗

def setcolor(self,p):
    b=self.sender()#传递控件对象
    if b.text()=="红":
        self.myframe.setStyleSheet("QWidget{background-color:red}")
    elif b.text()=="蓝":
        self.myframe.setStyleSheet("QWidget{background-color:blue}")
    elif b.text()=="粉":
        self.myframe.setStyleSheet("QWidget{background-color:pink}")

if name == “main”:
app = QApplication(sys.argv)
ma = MyClass()
app.exec_()

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值