Подтвердить что ты не робот

Сделать QLabel текст по выбору?

У меня есть QLabel в моем приложении, которое выводит сообщение об ошибке пользователю. Я хотел бы сделать текст метки выбранным, чтобы пользователи могли копировать и вставлять сообщение об ошибке, если это необходимо.

Однако, когда я использую мышь, чтобы щелкнуть и перетащить текст, ничего не происходит - текст не выбран.

Как я могу сделать текст внутри QLabel, который можно выбрать с помощью мыши?

4b9b3361

Ответ 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);

Я думаю, что принятый ответ проще и предпочтительнее этого.