本系列文章长期更新修改.
QPushButton,是GUI里最常用的组件之一.
属性:
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()