找回密码
 立即注册
Qt开源社区 门户 查看内容

python的GUI编程-PyQt5--3(按钮)

2019-9-12 16:04| 发布者: admin| 查看: 804| 评论: 0

摘要: 注:这是本人在网络上听课后的总结笔记,仅供参考.--QAbstractButton,QPushButton,QCommandLinkButton,QtoolButton,QRadioButton,QCheckBox--按钮控件一,QAbstractButton 介绍: 所有按钮控件的基类,提供按钮的通用功 ...
注:这是本人在网络上听课后的总结笔记,仅供参考.



--QAbstractButton,QPushButton,QCommandLinkButton,QtoolButton,QRadioButton,QCheckBox--

按钮控件

一,QAbstractButton

    介绍:
        所有按钮控件的基类,提供按钮的通用功能,继承QWidget,这是一个虚拟类(抽象类),并不能直接使用,必须由子类来调用api,其中:QpushButton,QRadloButton,QCheckBox,QtoolButton都是继承QAbstractButton,还有QCommandLinkButton是继承QpushButton
      
    功能:
        提示文本
            setText()#设置按钮提示文本
            text()#获取按钮提示文本
          
        图标相关
            setIcon(QIcon('图标路径'))#设置图标
            setIconSize(QSize(宽,高))#设置图标大小
            icon()#获取图标
            iconSize()#获取图标大小
          
        设置快捷键
            通过指定的快捷键,触发按钮的点击
            方式1:有提示文本的,在设置文本时,只要在需要设置快捷键的字母前加&符号,例如setText('&abc'),这样在快捷键就是alt+a,
            方式2:没有提示文本的,setShorcut("Alt+a"),这样可以设置没有文本的按钮的快捷键
          
        自动重复
            setAutoRepeat()#设置自动重复,True或False
            setAutoRepeatInterval(毫秒)#设置自动重复检查间隔
            setAutoRepeatDelay(毫秒)#设置初次检测延迟
            autoRepeat()#获取自动重复
            autoRepeatInterval()#获取自动重复间隔
            autoRepeatDelay()获取自动重复初次延迟
          
        状态
            setDown()#设置按钮被按下
            isDown()#查看是否按下
            isCheckable()#查看是否可以被选中
            setCheckable()#设置是否可以被选中,True或False
            isChecked()#查看是否被选中
            setChecked()#设置是否被选中
            toggle()#切换选中与非选中状态
          
        排他性
            如果同时存在多个按钮,而此时所有按钮设置了排他性,则在同一时刻只能选中一个按钮
          
            autoExclusive()#查看是否排他,一般按钮都是False,只有单选按钮是True
            setAutoExclusive()#设置是否排他,True或False
          
        点击
            click()#模拟普通点击
            animateClick(毫秒)#动画点击,按钮的点击样子会和实际点击时一样
          
        设置有效区域
            重写hitButton(QPoint)#有效返回True,无效返回False
          
            ****判断两点之间的距离,使用勾股定理
            x²+y² = z²
            z = √(x²+y²)
          
    信号:
        pressed()#鼠标按下信号
        released()#鼠标释放,控件内松开鼠标或者鼠标未松开但移出控件范围后
        clicked()#控件内按下+控件内释放,也就是一次完整的点击
        toggled()#切换信号,一般在单选或复选框中使用
  
  
二,QPushButton

    介绍:
        用来让用户点击来完成某个动作的控件,一般为矩形
      
  
    功能:
        创建按钮控件:
            QPushButton()#括号中可以是空代表无父控件,可以是父控件名,可以是文本+父控件名表示创建时设置提示文本和父控件,也可以是图标+文本+父控件名表示创建时设置图标文本和父控件
      
        菜单:
            setMenu(QMenu)#设置菜单
            menu()#获取菜单
            showMenu()#展示菜单
          
            补充:QMenu:
                    addMenu(QMenu)#添加子菜单
                    addSeparator()#添加分割线
                    addAction(QAction)#添加行为动作
                  
                    QMenu控件设置:
                    setTitle(str)#设置文本
                    setIcon(QIcon)#设置图标
                  
                    QAction设置:
                    setText(str)#设置文本
                    setIcon(QIcon)#设置图标
                    triggered#信号
                  
        边框是否保持扁平:
            setFlat()#默认值是False,设置了此属性,则除非按下按钮,否则大多数样式都不会绘制按钮背景
          
            isFlat()#获取按钮边框是否扁平
          
        默认处理:
            setAutoDefault()#设置为自动默认按钮
          
            setDefault()#设置默认按钮
          
    信号:
        主要继承QAbstractButton和QWidget
      

三,QCommandLinkButton
    介绍:
        命令链接按钮,它的用途类似单选按钮的用途,因为它用于在一组互斥选项之间进行选择,命令链接按钮不应单独使用,而应作为想到和对话框中单选按钮的替代选项,外观通常类似于平面按钮的外观,但除了普通按钮文本外,它还允许描述性文本
  
    功能:
        创建
            QCommandLinkButton()#括号里,可以是父对象或者,标题+父对象,或者,标题+描述+父对象
          
        描述设置:
            setDescription()#设置描述
          
          
四,QtoolButton
    介绍:
        提供了一个快速访问按钮,通常是在工具栏内部使用,工具按钮通常不显示文本标签,而是显示图标,如果同时设置了文本和图标,则只显示图标
  
    功能:
        创建按钮
            QtoolButton()#括号里可以填父控件
          
        设置文本,图标,工具提示,
            大多都是继承父类方法
            setText()#设置文本
            setIcon()#设置图标
            setIconSize()#设置图标大小
            setToolTip(str)#设置工具提示
          
        按钮样式风格
            setToolButtonStyle()#设置风格取值,可以有以下几种:
                Qt.ToolButtonIconOnly#仅显示图标
                Qt.ToolButtonTextOnly#仅显示文本
                Qt.ToolButtonTextBesideIcon#文本显示在图标旁边
                Qt.ToolButtonTextUnderIcon#文本显示在图标下方
                Qt.ToolButtonFollowStyle#遵循风格
                  
      
        设置箭头
            setArrowType()#设置箭头,有以下几种:
                Qt.NoArrow#无箭头
                Qt.UpArrow#向上箭头
                Qt.DownArrow#向下箭头
                Qt.LiftArrow#向左箭头
                Qt.RightArrow#向右箭头
              
      
        自动提升
            setAutoRaise()#True或False
          
        菜单
            setMenu(QMenu)
      
        菜单弹出模式
            setPopupMode()#设置菜单弹出的触发方式,有以下几种:
                QToolButton.DelayedPopup#鼠标按住一会才会显示,类似浏览器后退按钮
                QToolButton.MenuButtonPopup#有一个专门的指示箭头,点击箭头才会显示
                QToolButton.InstantPopup#点了按钮就显示,点击信号不会发射
          
    信号:
        trggered()#当点击某个action时触发,并会将action传递出来
      
五,QRadioButton
    介绍:
        一般用于给用户提供若干选项中的单选操作,在同一组或同一父控件内只能选中一个单选按钮,
      
    功能:
  
        创建按钮
            QRadioButton()#括号里可以填父控件或文本+父控件,
          
      
    信号:
        全部继承父类
  
    补充:
        分组:在同一组或同一父控件内只能选中一个单选按钮
      
        第一种方法:放在不同父控件中,但是不会使用这种方法
      
        第二种方法:创建一个按钮组QButtonGroup,也就是抽象的按钮容器,可以将多个按钮划分为一组,但是按钮组不具备可视化的效果,一般放的都是可以被检查的按钮
            继承:QObject
          
            功能:
                创建按钮组
                    QButtonGroup()
                在按钮组中添加按钮
                    addButton(按钮名,id=-1)#id就是给按钮组中的按钮设置一个id号,id=-1是默认值,代表会自动分配,暂时不用写,
          
                查看按钮
                    buttons()#查看所有按钮组中的按钮
                    button(ID)#根据ID获取对应按钮
                  
                    checkedButton()#获取选中的按钮
              
                移除按钮
                    removeButton()#移除按钮组中的按钮
                  
                绑定和获取ID
                    setId(按钮名,id号)#设置ID
                    id()#获取ID
                    checkid()#查看选中的按钮的id是多少,如果没有选中的按钮结果为-1,所以在设置id时,不要使用-1,最好也不要使用负数
                  
                独占设置
                    setExclusive()#设置按钮组中所有按钮为唯一,也就是独占
                    exclusive()#查看是否独占
          
            信号:
                buttonClicked()#按钮组中的按钮被点击时发射信号
                buttonPressed()#按钮组中的按钮被按下时发射信号
                buttonReleased()#按钮组中的按钮被释放时发射信号
                buttonToggled()#按钮组汇总的按钮切换状态时发射信号,
                #按钮组中的信号包含2个参数,一个是iD,一个是按钮,使用方法是buttonClicked[int]为id,buttonClicked后面上面都不加就是获取按钮
                  
六,QCheckBox
    介绍:
        一般用于给用户提供若干选项中的多选操作,可以都选,也可以都不选,也可以选一部分
      
    功能:
        创建按钮
            QCheckBox()#括号里可以填父控件或文本+父控件
          
        设置是否拥有三态
            复选框有三种状态,选中,未选中,部分选中
            setTristate()#True或False
      
        设置复选框状态
      
            setCheckState()#包括Qt.Unchecked未选中,Qt.PartiallyChecked部分选中,Qt.Checked被选中

    信号:
        stateChanged()#选中或清除时发射,0代表未选中,1代表部分选中,2代表选中


----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:BB贩卖团,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了