Сделать QDialog доступным только для чтения, но по-прежнему с возможностью выбора текста

Отказ от ответственности: я не программист Qt, я просто спрашиваю, может ли кто-нибудь решить вопрос о браузере БД для SQLite.

Итак, EditDialog виджет расширяет QDialog учебный класс. Как описано в выпуске, в некоторых сценариях этот виджет доступен только для чтения, но было бы замечательно, если бы его текстовое содержимое все еще можно было выбирать.

Есть два варианта использования:

  • выделение текста с помощью мыши
  • мигающая каретка, выделение текста с помощью клавиатуры Shift + стрелки

текущее решение исправляет только первый случай. Нет мигающей каретки и выбор клавиатуры не работает. Можно ли это улучшить?

1

Решение

Предполагая, что текстовая область является QTextEdit или же QPlainTextEdit, вы должны быть в состоянии исправить это, настроив флаги взаимодействия текста. Попробуйте что-то вроде этого:

ui->editorText->setTextInteractionFlags(
Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard)
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]