2016-03-21 3 views
0

NPSAppManaged.switchForm(formid)メソッドの使用に関するいくつかの問題が発生しています。私は、現在のフォームを別のものに切り替えるためにキーハンドラを使用するウェルカムスクリーン(「systemWelcomeScreenForm」を参照)を作成しようとしています。以下のコード例でnpyscreen - FormBaseNewキーハンドラでNPSAppManaged.switchForm(formid)を使用したときに発生するエラー

playground.pyを参照)、私は単に「CTRL」のユーザ入力を行うことで、この概念をテストしたいのです+「T」「がcreatePlaceholderForm」に現在のフォームを切り替えます。しかし、私はエラー1に表示されるエラーを受け取りました。

playground.py

#!/usr/bin/env python 
# encoding: utf-8 

# File Name: playground.py 
# Author:  Jack Winch 
# Sys. Version: ALPHA 

# Comments: 
# ========= 
# This file has been created so as to experiment with the implementation of a DBMS front-end, using npyscreen. 

from npyscreen import * 
import sys 

# WELCOME SCREEN FORM 
# =================== 

class systemWelcomeScreenForm(FormBaseNew): 

     def create(self): 

       self.add_handlers({"^Q": sys.exit, "^T": self.change_form("createPlaceholderForm")}) 

       self.add(TitleFixedText, name = "openCalDBMS Primary Options Menu", editable=False, relx=4, rely=2, labelColor='STANDOUT') 
       self.add(TitleFixedText, name = "================================", editable=False, relx=4, rely=3, labelColor="STANDOUT") 

       self.add(TitleFixedText, name = "Function Keys: CNTRL+Q - Exit System", editable=False, relx=4, rely=44) 

       self.add(TitleText, name = "Option ===>", relx=4, rely=40, labelColor="STANDOUT", begin_entry_at=13, use_two_lines=False) 

     def change_form(self, name): 
       self.parentApp.switchForm(name) 


# CREATE PLACEHOLDER FORM 
# ======================= 
class createPlaceholderForm(ActionForm): 

     def create(self): 

       self.add(TitleFixedText, name="Test", editable=False, labelColor='STANDOUT', relx=4, rely=2) 

     def on_ok(self): 
       self.parentApp.setNextForm("MAIN") 

     def on_cancel(self): 
       self.parentApp.setNextForm("MAIN") 


class ApplicationHandler(NPSAppManaged): 

     def onStart(self): 
       self.addForm('MAIN', systemWelcomeScreenForm, name="openCalDBMS | Welcome Screen", min_columns=120, min_lines=48) 
       self.addForm('createPlaceholderForm', createPlaceholderForm, name='openCalDBMS | Create Instrumentation Placeholder for Ordered Instruments'$ 

if __name__ == '__main__': 
     Application = ApplicationHandler().run() 

エラー1Error experienced when trying to execute the code example above.

エラーフォーマットについての私の謝罪 - 私はトラブルのテキストの書式を持ってきました。

私はnpyscreenのドキュメントを参照し、このサイトを精査してインターネットを検索しましたが、残念ながらこのエラーやnpAppreen.switchForm(formid)の使用方法については何も見つかりませんでした。

あなたの助けがgreatfully感謝し、生成されたエラーのフォーマットについて謝罪されるだろう、

JrDeveloper

答えて

0

は、問題を発見しました。

def change_form(self, name): 

def change_form(self, name, *args, **keywords): 
する必要があります
関連する問題