2017-08-26 3 views
0

Ich brauche die Scrollbar, auch wenn die Anzahl der Zeilen ist als die Höhe des QTextEdit weniger machen aktiviert ist, wie in unten picden unteren Rand in QTextEdit erhöhen

ich setDocumentMargin() versucht, aber es macht in allen Richtungen Rand (links, rechts, oben und unten)

Also, gibt es eine Möglichkeit, nur den unteren Rand des QTextEdit zu erhöhen.

Edit Area with larger margin

Antwort

0

Wenn Sie die source code beobachten, sehen wir, dass die Funktion wie folgt definiert ist:

void QTextDocument::setDocumentMargin(qreal margin) 
{ 
    [...] 
     QTextFrame* root = rootFrame(); 
     QTextFrameFormat format = root->frameFormat(); 
     format.setMargin(margin); 
     root->setFrameFormat(format); 
    [...] 
} 

So können wir die gleichen durch die Funktionen tun rootFrame() und frameFormat() wie ich weiter unten zeigen:

if __name__ == '__main__': 
    import sys 
    app = QApplication(sys.argv) 

    textEdit = QTextEdit() 

    format = textEdit.document().rootFrame().frameFormat() 
    format.setBottomMargin(10) 
    # format.setTopMargin(value) 
    # format.setLeftMargin(value) 
    # format.setRightMargin(value) 
    textEdit.document().rootFrame().setFrameFormat(format) 

    textEdit.show() 
    sys.exit(app.exec_()) 

Wenn Sie nur eine QTextEdit Bildlaufleiste sichtbar machen möchten, verwenden Sie die folgenden g:

textEdit.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn) 
textEdit.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) 
+0

Ich habe das versucht, aber nicht mit mir arbeiten. Immer noch die Bildlaufleiste versteckt –

+0

@ MoatazEl-Ibiary Was ist Ihr Ziel? Die Ränder oder die Bildlaufleiste? – eyllanesc

+0

Mein Ziel ist es, die Bildlaufleiste aktiviert zu machen. Ich habe versucht, das mit Margen zu machen. Aber der Rand ist nicht mein Ziel –

Verwandte Themen