2
少しを作っています。Qtを使用してテキストエディタを作成しました。キーボードの"tab"
キーをエディタで押すと、必要以上に行がインデントされます。コードを11スペースに見えるのではなく、約3スペースでインデントしたいと思います。タブキーの機能を変更する方法はありますか?ありがとう。QTextEdit「Tab」キーのインデントを小さくする
少しを作っています。Qtを使用してテキストエディタを作成しました。キーボードの"tab"
キーをエディタで押すと、必要以上に行がインデントされます。コードを11スペースに見えるのではなく、約3スペースでインデントしたいと思います。タブキーの機能を変更する方法はありますか?ありがとう。QTextEdit「Tab」キーのインデントを小さくする
TAB(ASCII文字9)の幅を変更するには、QTextEdit
とQPlainTextEdit
の両方のために存在するtabStopWidth
財産、(doc link)を使用することができます。これは、ピクセル単位でタブ幅を取ります。代わりに、それは移動し、TABは一定の幅を持っていないことに注意してください左端から始めて、このプロパティによって決定された画素間隔であるを、前方の横TABのを止める。
あなたはTAB幅はフォントに依存する場合、あなたには、いくつかのフォントのピクセル幅を取得するためにQFontMetricsクラスを使用することができますし、例コード:
// this object is QTextEdit or QPlainTextEdit or a subclass
int fontWidth = QFontMetrics(this->currentCharFormat().font()).averageCharWidth();
this->setTabStopWidth(3 * fontWidth);
TABビヘイビアを直接設定する方法がない場合は、 'keyPressEvent'をオーバーライドし、TABをキャッチして適切に処理します。 – hyde
説明が必要:TABキー(ASCIIコード9)を挿入したまま、タブ幅を変更したいですか?または、Tabキーでスペースを挿入するように変更しますか? – hyde