pyqt4文档阅读(4):QPushButton

本系列文章长期更新修改.


QPushButton,是GUI里最常用的组件之一.

pyqt4文档阅读(4):QPushButton_第1张图片


属性:

Methods

  • __init__ (self, QWidget parent = None)
  • __init__ (self, QString text, QWidget parent = None)
  • __init__ (self, QIcon icon, QString text, QWidget parent = None)
  • bool autoDefault (self)
  • bool event (self, QEvent e)
  • focusInEvent (self, QFocusEvent)
  • focusOutEvent (self, QFocusEvent)
  • initStyleOption (self, QStyleOptionButton option)
  • bool isDefault (self)
  • bool isFlat (self)
  • keyPressEvent (self, QKeyEvent)
  • QMenu menu (self)
  • QSize minimumSizeHint (self)
  • paintEvent (self, QPaintEvent)
  • setAutoDefault (self, bool)
  • setDefault (self, bool)
  • setFlat (self, bool)
  • setMenu (self, QMenu menu)
  • showMenu (self)
  • QSize sizeHint (self)


详细分析:


1.主要属性

QPushButton的主要属性是text和icon,大部分的QPushButton使用都只是对这两个值的设置.

text是要显示的文本,icon是要显示的图标.它们能独自显示,也能一并显示.

这些属性可以在初始化的时候设置,也可以使用下面的函数设置.

  • __init__ (self, QWidget parent = None)
  • __init__ (self, QString text, QWidget parent = None)
  • __init__ (self, QIcon icon, QString text, QWidget parent = None)
  • QIcon icon (self)
  • QString text (self)
  • setIcon (self, QIcon icon)
  • setText (self, QString text)

2.快捷键

通过名字能给QPushButton设置快捷键,比如名字为"&Download"的按钮,它的快捷键是Alt+D.

规则就是你想实现快捷键Alt+x,名字里就要有这个x,并且x前面加上&.这个x不一定是首字母,但一般都是.

在显示的时候,这个"&"不会被显示出来,但那个字母会显示一条下划线.如果你只是想显示"&",需要像转义一样使用"&&".

更多快捷键方面的使用,需要参考QShortcut.

3.信号

QPushButton常用的信号是下面三个:

  • void clicked (bool = 0)
  • void pressed ()
  • void released ()

一般clicked我们会去掉那个bool参数,那个bool参数好像是给程序员用的,而不是给Qt用的.

按下的时候,pressed()会被激活.

按下状态时,释放鼠标或者鼠标离开按钮,released()会被激活.

按下状态时,释放鼠标,clicked()会被激活.也就是说,clicked()被激活,released()一定同时被激活.反之则不一定正确.

4.菜单

QPushButton允许我们给一个按钮设置一个下拉菜单.

  • QMenu menu (self)
  • setMenu (self, QMenu menu)
  • showMenu (self)
按下按钮的时候,下拉菜单会被显示出来,也可以通过showMenu().

注意在程序里调用showMenu()的话,菜单消失后,showMenu()才会返回.

5.边缘消失

flat属性为true时,按钮的边缘会消失,剩下文本和icon.只有按下的时候边缘才会出现.

  • bool isFlat (self)
  • setFlat (self, bool)
6.是否激活

有时候有些按钮是不能点击的,我们可以通过下面函数设置这种按钮:

  • bool isEnabled (self)
  • setEnabled (self, bool)

7.待续

setAutoDefault()

setDefault()

autoDefault()

isDefault()


你可能感兴趣的:(qt,qt,pyqt,QPushButton)