Qt/C++에서 간단한 메모장을 만들었습니다. 나는 마이크로 소프트의 메모장과 같은 텍스트 영역에 어딘가에 윈도우Qt 간단한 노트 패드, QmainWindow의 상태 표시 줄에 라인 번호 인쇄
난 당신이 "편집기"위젯으로은 QTextEdit를 사용하는 추측하고있어
0
A
답변
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();
그런 다음이 정보를 정기적으로 상태 표시 줄의 텍스트를 편집
무엇을 시도 했습니까? 텍스트 편집에서 현재 커서 위치와 상태 표시 줄에 텍스트를 설정하는 방법 만 있으면됩니다. ;) – xander
이 QPoint입니다. globalCursorPos = QCursor :: pos(); 현재 커서 위치에 유효하며 어떻게 인쇄 할 수 있습니까? –