2017-12-19 21 views
0

Qt/C++에서 간단한 메모장을 만들었습니다. 나는 마이크로 소프트의 메모장과 같은 텍스트 영역에 어딘가에 윈도우Qt 간단한 노트 패드, QmainWindow의 상태 표시 줄에 라인 번호 인쇄

Status bar with line number

난 당신이 "편집기"위젯으로은 QTextEdit를 사용하는 추측하고있어
+1

무엇을 시도 했습니까? 텍스트 편집에서 현재 커서 위치와 상태 표시 줄에 텍스트를 설정하는 방법 만 있으면됩니다. ;) – xander

+0

이 QPoint입니다. globalCursorPos = QCursor :: pos(); 현재 커서 위치에 유효하며 어떻게 인쇄 할 수 있습니까? –

답변

2

당신 문자 영역의 cursorPositionChanged() 신호를 QMainWindow의 맞춤 슬롯에 연결할 수 있습니다.

// the connection 
connect(ui->plainTextEdit, SIGNAL(cursorPositionChanged()), this, SLOT(showCursorPos())); 
// your custom slot 
void MainWindow::showCursorPos() 
{ 
    int line = ui->plainTextEdit->textCursor().blockNumber()+1; 
    int pos = ui->plainTextEdit->textCursor().columnNumber()+1; 
    ui->statusBar->showMessage(QString("Ln %1, Col %2").arg(line).arg(pos)); 
} 
+0

감사합니다.이 대답은 저에게 효과적입니다. –

0

을 클릭하면 QMainWindow의 상태 표시 줄에 줄 번호를 인쇄 할 . 당신이

row = myTextEdit->textCursor()->blockNumber(); 

사용하고 열의해야 당신은 QTextEdit에서 커서가 어디

을 얻으려면

column = myTextEdit->textCursor()->positionInBlock(); 

그런 다음이 정보를 정기적으로 상태 표시 줄의 텍스트를 편집