使QLabel文本可选?

Cor*_*ein 36 c++ qt

QLabel我的应用程序中有一个向用户显示错误消息.我想使标签的文本可选,以便用户可以根据需要复制和粘贴错误消息.

但是,当我使用鼠标单击并拖动文本时,没有任何反应 - 文本未被选中.

如何QLabel通过鼠标在可选择的文本中创建文本?

Cor*_*ein 63

a的文本QLabel可以通过鼠标选择,如下所示:

label->setTextInteractionFlags(Qt::TextSelectableByMouse);
Run Code Online (Sandbox Code Playgroud)

这可以在QLabel文档中找到.

您可以使用相同的功能来通过键盘选择链接,突出显示URL链接,并使文本可编辑.请参阅Qt :: TextInteractionFlag.

设计师

textInteractionFlagsQLabel菜单下搜索并设置标志TextSelectableByMouse.

  • 如果您希望鼠标光标在悬停时改变,可以添加:`label-> setCursor(QCursor(Qt :: IBeamCursor));` (2认同)

Don*_*tch 6

这是另一种方法,供参考...您可以在构造函数中创建一个 QLineEdit 子类,进行调整以使其外观和行为类似于 QLabel:

 setReadOnly(true);
 setFrame(false);
 QPalette palette = this->palette();
 palette.setColor(QPalette::Base, palette.color(QPalette::Background));
 setPalette(palette);
Run Code Online (Sandbox Code Playgroud)

我认为接受的答案比这个更简单、更可取。