2016-01-20 183 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

谢谢!它工作得很好 –

相关问题