2016-03-21 16 views
0

NPSAppManaged.switchForm (formid) yönteminin kullanımıyla ilgili bazı sorunlar yaşıyorum. Mevcut formu bir diğerine geçirmek için anahtar işleyicileri kullanan bir karşılama ekranı ('systemWelcomeScreenForm' bölümüne bakın) oluşturmaya çalışıyorum. Aşağıdaki örnek kodu (playground.py bakınız) olarak npyscreen - FormBaseNew anahtar işleyicisi ile NPSAppManaged.switchForm (formid) kullanımıyla ortaya çıkan hatalar

, yalnızca 'Ctrl' + 'T', bir kullanıcı giriş yaparak Bu kavramı test etmek isteyen pm 'createPlaceholderForm' mevcut anahtarlamasına. Ancak, bir hata hatada gösterilen hata alıyorum.

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() 

hata bir: hata biçimi hakkında Error experienced when trying to execute the code example above.

Özürlerimi - Ben sorun metin biçimlendirme yaşıyorum. Ben npyscreen belgelere atıfta ettik

, bu siteyi arıtılan ve internet arama ama maalesef npyscreen belgelerine dışındaki NPSAppManaged.switchForm (formID) bu hata veya kullanıma şey, bulamadım.

Yardımın minnetle takdir ve oluşturulan hata biçimlendirme hakkında özür,

JrDeveloper

cevap

0

sorunu Bulunan olacaktır.

def change_form(self, name): 

olmalıdır

def change_form(self, name, *args, **keywords): 
İlgili konular