Сделать QLabel текст по выбору?
У меня есть QLabel
в моем приложении, которое выводит сообщение об ошибке пользователю. Я хотел бы сделать текст метки выбранным, чтобы пользователи могли копировать и вставлять сообщение об ошибке, если это необходимо.
Однако, когда я использую мышь, чтобы щелкнуть и перетащить текст, ничего не происходит - текст не выбран.
Как я могу сделать текст внутри QLabel
, который можно выбрать с помощью мыши?
Ответы
Ответ 1
код
Текст QLabel
может быть сделан с помощью мыши так:
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
Это находится в документации QLabel.
Вы можете использовать эту же функцию, чтобы сделать ссылки доступными по клавиатуре, выделить URL-ссылки и сделать текст редактируемым. См. Qt:: TextInteractionFlag.
Конструктор
Найдите textInteractionFlags
в меню QLabel
и установите флаг TextSelectableByMouse
.
Ответ 2
Вот еще один метод, для справки...
Вместо этого вы можете создать подкласс QLineEdit, настроить его и выглядеть как QLabel,
в конструкторе:
setReadOnly(true);
setFrame(false);
QPalette palette = this->palette();
palette.setColor(QPalette::Base, palette.color(QPalette::Background));
setPalette(palette);
Я думаю, что принятый ответ проще и предпочтительнее этого.