Click here to Skip to main content
15,884,472 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I was tasked to create a TUI based system which will be soon connecting to our current system via API (written in Laravel and MySQL).

I tried using npyscreen but unfortunately my boss doesn’t want the UI. He prefers this kind of UI -> and

Can you advise how to achieve those kinds of TUI. Here are the requirements:

1. Create shortcut functions on the bottom of the page like F1, F2, F3 and so on. ->
2. Create user inputs (form submit) with multiple textboxes and display to gridview just like this ->

Can you please recommend what language we are going to use? Is there any library there? Or tools that we use to develop this TUI based system faster?

What I have tried:

I tried checking Python 3. But unfortunately, I can't format the forms with grid layout. Also, I can't achieve the footer with Shortcut keys. I tried npyscreen library as well but when the screen is small, it shows an error. Also, I can't format the form in grid layout as well.
Updated 25-Feb-22 3:30am
Richard MacCutchan 11-Feb-22 3:40am    
This question is impossible to answer. You first need to decide what development language you plan to use. You have Python and PHP in your tags (and DOS?), so are you restricted to those? You then need to investigate what UI libraries are available that are supported by your language of choice, such as Windows Forms, Web Forms, Flask, OpenCV, QT, Tk etc.

1 solution

I'd suggest to read this: terminaltables · PyPI[^] There you'll find 3 examples.

Similar question has been asked on SO, see: split - How to display two different outputs in python console - Stack Overflow[^] A win32console module looks very promisingly.

Finaly, you can use different versions of tables to print on console window: Print Table on console in Python - Python Fusion[^]

Good luck!
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900