概述
#! /usr/bin/env python3
# coding:utf8
import npyscreen
# content
headers = ["column 1","column 2","column 3","column 4"]
entries = [["a1","a2","a3","a4"],["b1","b2","b3","b4"],["c1","c2","c3","c4"],["d1","d2","d3","d4"],["e1","e2","e3","e4"]]
# returns a string in which the segments are padded with spaces.
def format_entry(entry):
return "{:10} | {:10} | {:10} | {:10}".format(entry[0],entry[1],entry[2],entry[3])
class SecondForm(npyscreen.Form):
def on_ok(self):
self.parentApp.switchFormPrevIoUs()
# add the widgets of the second form
def create(self):
self.col1 = self.add(npyscreen.TitleText,name="column 1:")
self.col2 = self.add(npyscreen.TitleText,name="column 2:")
self.col3 = self.add(npyscreen.TitleText,name="column 3:")
self.col4 = self.add(npyscreen.TitleText,name="column 4:")
class MainForm(npyscreen.Form):
def on_ok(self):
self.parentApp.switchForm(None)
def changeToSecondForm(self):
self.parentApp.change_form("SECOND")
# add the widgets of the main form
def create(self):
self.add(npyscreen.FixedText,value=format_entry(headers),editable=False,name="header")
for i,entry in enumerate(entries):
self.add(npyscreen.ButtonPress,when_pressed_function=self.changeToSecondForm,name=format_entry(entry))
class TestTUI(npyscreen.NPSAppManaged):
def onStart(self):
self.addForm("MAIN",MainForm)
self.addForm("SECOND",SecondForm,name="Edit row")
def onCleanExit(self):
npyscreen.notify_wait("Goodbye!")
def change_form(self,name):
self.switchForm(name)
if __name__ == "__main__":
tui = TestTUI()
tui.run()
总结
以上是编程之家为你收集整理的python – 如何组合多个TUI表单来编写更复杂的应用程序?全部内容,希望文章能够帮你解决python – 如何组合多个TUI表单来编写更复杂的应用程序?所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧