您好我一直在搜索,我找不到任何有关如何在自定义模块的view_form部分添加按钮的教程。 我想添加一个按钮,并让它调用我每次点击时制作的方法。
xml视图表单中的:
<label name="fieldstring"/>
<field name="fieldstring"/>
<button name="dosomething"/>
代码:
def dosomething(cls,records):
#treatement
是否有任何示例模块正在使用与治疗相关联的按钮?
答案 0 :(得分:1)
要向视图添加按钮,您必须执行3个步骤:
将按钮添加到ModelView类的_buttons字典中。通常,这是在您班级的设置方法中完成的。在这里,您可以定义图标和状态(例如,当按钮不可见时)。如果不需要,您可以使用空字典定义它。
例如:
@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
请注意,name方法必须是在步骤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