可以在构造函数中创建QAction作为分隔符

时间:2014-01-16 15:20:50

标签: qt4 pyqt4 qaction

我有几十个QAction个对象在widget的构造函数中创建,而没有给它们变量名。

QAction的许多属性都可以在构造函数中设置(例如shortcut,表示连接,statusTip等。)

是否可以在构造函数中将QAction设置为分隔符,以及如何执行此操作?

P.S。我认为这不是一个特定于语言的问题,但是我在这里正在使用的是:

Python 2.7.6; PyQt4 4.10.3; Qt 4.8.5。

1 个答案:

答案 0 :(得分:2)

简短的回答是:否。

PyQt的support for properties只允许您在构造函数中设置Qt定义的属性。快速浏览properties section for QAction确认没有separator属性,因此您无法以这种方式设置它。

当然,有一个非常简单明了的解决方法。只需定义自己的QAction子类,并在__init__

中进行必要的配置
class Action(QtGui.QAction):
    def __init__(self, *args, **kwargs):
        super(Action, self).__init__(*args, **kwargs)
        self.setSeparator(kwargs.get('separator', False))