2016-01-20 11 views

回答

0

在你的鏈接它會顯示它是如何繪製左側行號區域:

void CodeEditor::resizeEvent(QResizeEvent *e) 
{ 
    QPlainTextEdit::resizeEvent(e); 

    QRect cr = contentsRect(); 
    lineNumberArea->setGeometry(QRect(cr.left(), cr.top(), lineNumberAreaWidth(), cr.height())); 
} 

爲了從你(這是未經測試)做正確的畫線號是這樣的:

void CodeEditor::resizeEvent(QResizeEvent *e) 
{ 
    QPlainTextEdit::resizeEvent(e); 

    QRect cr = contentsRect(); 
    lineNumberArea->setGeometry(QRect(cr.right() - lineNumberArea->width() , cr.top(), lineNumberAreaWidth(), cr.height())); 
} 
+0

我正在尋找它。非常感謝你!!!它正在工作 –

1

除了GPPK的回答,您還需要更改視邊距:

void CodeEditor::updateLineNumberAreaWidth(int /* newBlockCount */) 
{ 
    setViewportMargins(0, 0, lineNumberAreaWidth(), 0); 
} 

GPPK的代碼將正確的繪圖矩形分配給子控件,我的代碼確保該滾動視圖不會繪製到該區域中。

+0

謝謝!它工作得很好 –

相關問題