为了向视图添加按钮,您必须执行 3 个步骤:
将按钮添加到 ModelView 类的 _buttons 字典中。通常这是在你的类的setup方法中完成的。您可以在此处定义图标和状态(例如,当按钮不可见时)。如果不需要,您可以使用空字典定义它。
例如:
@classmethod
def __setup__(cls):
super(Class, cls).__setup__()
cls._buttons.update({
'mybutton': {},
})
更复杂的示例可以在 tryton 模块中找到,例如:
http://hg.tryton.org/modules/account_invoice/file/84a41902ff5d/invoice.py#l224
声明您的方法并用 ModelView.button 装饰它(以检查对该按钮的访问权限)。例如:
@classmethod
@ModelView.button
def mybutton(cls, records)
#DO whatever you want with records
请注意,名称方法必须是您在步骤 1 中用作 _buttons 字典的键的方法。
最后将其添加到视图中。您可以找到所有可用于的属性:
http://doc.tryton.org/3.2/trytond/doc/topics/views/index.html?highlight=button#button
请注意,字符串和名称属性是必需的。
此外,名称必须是要调用的方法的名称,在步骤 2 中定义。
您可以在以下位置找到一些示例:
http://hg.tryton.org/modules/account_invoice/file/84a41902ff5d/view/invoice_form.xml#l51