zoukankan      html  css  js  c++  java
  • PyQt5 之QAbstractButton

    一、描述

    所有按钮控件的基类,并且提供按钮的通用功能。

    二、常用API

    1、提示文本

    setText(str):设置按钮提示文本

    text():获取按钮提示文本

    2、图标相关

    setIcon(QIcon("resource/h1.png")):设置图标

    setIconSize(QSize(w, h)):设置图标大小

    icon():获取图标

    iconSize():获取图标大小

    3、设置快捷键

    setShortcut("Alt+G")

    4、自动重复

    setAutoRepeat(bool):设置自动重复

    setAutoRepeatInterval(毫秒):设置自动重复检测间隔

    setAutoRepeatDelay(毫秒):设置初次检测延迟

    autoRepeat():获取是否自动重复

    autoRepeatInterval():获取自动重复检测间隔

    autoRepeatDelay():获取初次检测延迟

    5、状态

    isDown():是否按下按钮

    setDown(bool):设置按钮, 是否被按下

    isChecked():是否选中了按钮

    setChecked(bool):设置按钮, 是否被选中

    isCheckable():按钮是否可以被选中

    setCheckable(bool):设置按钮, 是否可以被选中

    toggle():切换选中与非选中状态

    isEnabled()

    setEnabled(bool)

    6、排他性

    如果同时存在多个按钮, 而此时所有按钮又设置了排他性,
    则在同一时刻只能选中一个按钮

    autoExclusive():是否自动排他,一般按钮都是False, 只有单选按钮是True

    setAutoExclusive(bool):设置自动排他

    7、点击

    click():普通点击

    animateClick(ms):动画点击

    8、设置有效区域

    重写hitButton(QPoint)

    三、信号

    pressed():鼠标按下信号

    released():鼠标释放

    clicked(checked = false):控件内按下+控件内释放

    toggled(bool checked):切换信号(一般在单选框或者复选框中使用)

    四、案例

    from PyQt5.Qt import *
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle('QAbstractButton-点击加一')
            self.resize(500, 400)
            self.setup_ui()
        
        def setup_ui(self):
            lable = QLabel(self)
            lable.setText('1')
            
            btn = QPushButton(self)
            btn.setText('加一')
            btn.move(0, 20)
            def incr(evt):
                text = int(lable.text()) + 1
                lable.setText(str(text))
            btn.clicked.connect(incr)
            
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = Window()
        window.show()
        sys.exit(app.exec_())
  • 相关阅读:
    MySQL关于check约束无效的解决办法
    关于constraint的用法
    MySQL关于Duplicate entry '1' for key 'PRIMARY'错误
    iOS实现高斯模糊效果(Swift版本)
    iOS获取视频中的指定帧的两种方法
    Java关于e.printStackTrace()介绍
    iOS关于JSONKit解析Unicode字符内容出错,问题出在u0000
    Java转型(向上转型和向下转型)
    添加删除Windows组件里没有IIS(Internet信息服务)项的解决方法
    Windows2003:“无法加载安装程序库wbemupgd.dll
  • 原文地址:https://www.cnblogs.com/yang-2018/p/12893472.html
Copyright © 2011-2022 走看看