2

QAction在小部件的构造函数中创建了几十个对象,但没有给它们变量名。

的许多属性QAction可以在构造函数中正确设置(例如shortcut,信号连接statusTip等)。

是否可以QAction在构造函数中设置为分隔符以及如何设置?

PS我认为这不是一个特定于语言的问题,但仅供参考,这就是我正在使用的:

蟒蛇2.7.6;PyQt4 4.10.3;Qt 4.8.5。

4

1 回答 1

3

最简洁的答案是不。

PyQt对属性的支持只允许您在构造函数中设置 Qt 定义的属性。快速浏览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))
于 2014-01-17T03:50:38.980 回答