【问题标题】:adding a button in tryton view form在tryton视图表单中添加一个按钮
【发布时间】:2014-08-08 21:57:37
【问题描述】:

嗨,我一直在搜索,但找不到任何关于如何在自定义模块的 view_form 部分中添加按钮的教程。 我想添加一个按钮,让它在每次点击时调用我创建的方法。

xml 视图形式:

<label name="fieldstring"/>
<field name="fieldstring"/>
 <button name="dosomething"/>

代码:

def dosomething(cls,records):
    #treatement

是否有任何使用与治疗相关的按钮的示例模块?

【问题讨论】:

    标签: tryton


    【解决方案1】:

    要将按钮添加到视图中,您必须执行 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
    

    注意,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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 2021-09-13
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多