2

Ubuntuでインジケーター通知を作成するPythonプログラムがあります。出力が常に垂直方向にインラインになるようにするために、追加する必要のあるタブの数をどのように把握しますか?

使用されている文字数を数え、タブの代わりにスペースを挿入しようとしましたが、非等幅フォントが使用されているため、これは機能しません。

この写真に示されている出力:

ここに画像の説明を入力してください

行を出力するコード:

for processName in processStatuses:
    if processName in cachedProcessStatuses:
        if processStatuses[processName] != cachedProcessStatuses[processName]:
            output += processName
            output += " : \t"
            output += processStatuses[processName]
            output += "\n"
    else:
        output += processName
        output += " : \t"
        output += processStatuses[processName]
        output += "\n"
4

1 に答える 1

3

…非モノフォントとして使用されます。

この場合、フォントのジオメトリを知る必要があります(簡単な作業ではありません)。

文字列「iiii 」は「 MMMM 」よりもスペースを取りませんが、フォントジオメトリ(個々の文字の正確な幅と相対的な水平位置)がわからないと、特定の文字列がタブ幅よりも広いかどうかを知ることができません。

于 2013-01-02T14:34:07.230 に答える