基本的にnpyscreen.Formは普通ですが、 "OK"ボタンで "Exit"と言いたいと思います。npyscreenで終了ボタンを作成するにはどうすればよいですか?
あなたが定期的にnpyscreen.Formでボタンの名前を変更することはできませんように見えるので、私はnpyscreen.ButtonPressをサブクラス化しようとした:
import npyscreen
class ExitButton(npyscreen.ButtonPress):
def whenPressed(self):
self.parentApp.setNextForm(None)
class MainForm(npyscreen.FormBaseNew):
def create(self):
self.exitButton = self.add(ExitButton, name="Exit", relx=-12, rely=-3)
class App(npyscreen.NPSAppManaged):
def onStart(self):
self.addForm("MAIN", MainForm, name="My Form")
if __name__ == "__main__":
app = App().run()
、ボタンが現れますが、あなたはそれをクリックしたとき'ExitButton' object has no attribute 'parentApp'
が得られます。
これを行う簡単な方法はありますか?
テストしましたか? – eyllanesc
はい、あなたの答えと同じ振る舞いをします – davedwards
self.parentAppを使用するのはいつですか、いつself.parent.parentAppですか? [Documentation](http://npyscreen.readthedocs.io/application-objects.html?highlight=parentapp)にはself.parentAppが記述されていますが、self.parent.parentAppの記述はありません。 – John