zoukankan      html  css  js  c++  java
  • pyqt(三)

    六、按钮控件

    QPushButton

    常见的按钮实现类包括:QPushButton、QRadioButton和QCheckBox

    QPushButton是最普通的按钮控件,可以响应一些用户的事件

    from PyQt5.QtWidgets import QApplication,QWidget,QPushButton
    from PyQt5.QtCore import *
    from PyQt5.QtGui import QIcon
    import sys
    
    def func():
        pass
    
    # 1.创建应用程序
    app = QApplication(sys.argv)
    
    # 2.创建窗口
    w = QWidget()
    
    
    # 修改窗口标题
    w.setWindowTitle('普通按钮')
    """------------------ 显示普通按钮 ------------------"""
    btn = QPushButton()
    # 添加按钮提示
    btn.setText('登录')
    # 提示气泡
    btn.setToolTip('登录按钮')
    # 展示按钮
    btn.setParent(w)
    
    
    # 3.显示窗口
    w.show()
    
    # 4.等待窗口停止
    sys.exit(app.exec())

    七、信号和槽

    1. 信号和槽简介

    信号和槽机制是 QT 的核心机制,应用于对象之间的通信

    • 信号和槽是用来在对象间传递数据的方法:当一个特定事件发生的时候,signal会被emit出来,slot调用是用来响应相应的signal的
    • Qt中对象已经包含了许多预定义的 signal(基本组件都有各自特有的预定义的信号)
    • 槽函数绑定了信号,信号一旦发出,就会自动调用绑定的槽函数

    2. 信号和槽绑定

    通过调用 QObject 对象的 connect 函数来将对象的信号与另外一个对象的槽函数相关联,当发射者发射信号时,接收者的槽函数将被调用

    需求:

    点击按钮,输出hello world

    代码:

    from PyQt5.QtWidgets import QApplication,QWidget,QPushButton
    from PyQt5.QtCore import *
    from PyQt5.QtGui import QIcon
    import sys
    
    # 槽函数
    def click():
        print('hello')
    
    # 1.创建应用程序
    app = QApplication(sys.argv)
    
    # 2.创建窗口
    w = QWidget()
    
    
    # 修改窗口标题
    w.setWindowTitle('信号和槽的绑定')
    """------------------ 添加按钮 ------------------"""
    btn = QPushButton()
    btn.setText('点我')
    btn.setParent(w)
    
    # 绑定按钮点击的信号和处理的槽函数
    # clicked 信号
    # click定义的槽函数
    # btn.clicked.connect(click)
    """------------------ 槽函数使用lambda表达式 ------------------"""
    # 信号和槽函数参数必须要保持一致
    # 如果信号中参数有=   槽函数可以不用添加
    btn.clicked.connect(lambda :print('hello'))
    
    # 3.显示窗口
    w.show()
    
    # 4.等待窗口停止
    sys.exit(app.exec())

    3. 使用PyQt的槽函数

    需求: 点击按钮,关闭窗口

    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import QIcon
    import sys
    
    # 1.创建应用程序
    app = QApplication(sys.argv)
    
    # 2.创建窗口
    w = QWidget()
    
    
    # 修改窗口标题
    w.setWindowTitle('使用系统的槽函数')
    """------------------ 创建按钮 ------------------"""
    btn = QPushButton()
    btn.setText('关闭窗口')
    # 显示按钮
    btn.setParent(w)
    
    """------------------ 信号和槽绑定 ------------------"""
    btn.clicked.connect(QApplication.quit)# 使用QApplication的quit方法
    
    # 3.显示窗口
    w.show()
    
    # 4.等待窗口停止
    sys.exit(app.exec())
  • 相关阅读:
    DP专集
    FJUT ACM 1212 集训队的药药切克闹
    Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) C. Travelling Salesman and Special Numbers (组合数学)
    牛客网 Wannafly挑战赛8 C-小C打比赛 (状压DP)
    HDU 1260 TICKETS (简单DP)
    汇编入门学习笔记 段内转移和段间转移
    汇编入门学习笔记 循环程序设计
    汇编入门学习笔记 分支程序举例
    汇编入门学习笔记 16X+Y
    POJ
  • 原文地址:https://www.cnblogs.com/kongweisi/p/13388115.html
Copyright © 2011-2022 走看看