2014-01-16 4 views
1

У меня есть десятки QAction объектов, созданных в конструкторе виджета, без предоставления им имен переменных.Возможность создания QAction как разделителя в конструкторе

Многие свойства QAction могут быть установлены прямо в конструкторе (например, shortcut, сигналы соединений, statusTip и т. Д.).

Можно ли установить QAction в качестве разделителя прямо в конструкторе и как это сделать?

P.S. Я думаю, что это не вопрос, связанный с языком, но FYI - вот что я использую:

Python 2.7.6; PyQt4 4.10.3; Qt 4.8.5.

ответ

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)) 
+0

Спасибо. Я забыл проверить документацию QT - только PyQt4. –

Смежные вопросы