您的位置:首页 > 编程语言 > Qt开发

pyqt4文档阅读(4):QPushButton

2016-08-20 16:57 411 查看
本系列文章长期更新修改.

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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt pyqt QPushButton