次のような「TextBoxes」を印刷するクラスがあります
#========================================#
| |
| |
| |
| |
| |
#========================================#
寸法を指定した場合。その後、メソッド setLineText を呼び出して行テキストを割り当てることができます。各行はリストに格納され、単純な for ループを使用してメソッド render で出力されます。
コロラマをミックスに導入するまで、すべてがうまく機能します。コロラマの書式設定でsetLineText メソッドを使用すると、変更した行は常に、書式設定に使用した呼び出しごとに 5 つの短いスペースになります。
例えば、
MainBox = views.TextBox(35, 6)
MainBox.setLineText(1, "Hello! " + Fore.RED + User.name + Fore.RESET)
MainBox.Render()
出力します
#=================================#
| Hello! User |
| |
| |
| |
#=================================#
私の質問は、これが起こらないようにする方法はありますか?
編集:追加の注意として、私はWindowsを使用しています。
回答: たくさんのテストを行った後、思いついた正規表現はどれも機能しませんでした。私の解決策は、 sys.stdout.write() を使用して色の変更とリセットを出力することです。それはうまく機能し、現在のコードを変更する必要さえほとんどありません