@NicNici

Как в QTextEdit::contextMenuEvent получить номер стоки?

Как в QTextEdit::contextMenuEvent получить номер стоки на которой произошёл вызов контекстного меню?
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
grantur5707
@grantur5707
Full Stack Web Developer
void MyTextEdit::contextMenuEvent(QContextMenuEvent *event) {
    QPoint mousePos = event->pos();

    QTextCursor cursor = cursorForPosition(mousePos);
    int blockNumber = cursor.blockNumber(); 

    QMenu *menu = createStandardContextMenu();
    menu->addAction(QString("Строка: %1").arg(blockNumber + 1)); 
    menu->exec(event->globalPos());
    delete menu;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@teenager_python
Чтобы получить номер строки, на которой произошло вызов контекстного меню в QTextEdit, необходимо переопределить метод contextMenuEvent. В этом методе можно использовать позицию курсора, чтобы определить, на какой строке находится курсор в момент вызова контекстного меню.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы