QLabel我的应用程序中有一个向用户显示错误消息.我想使标签的文本可选,以便用户可以根据需要复制和粘贴错误消息.
但是,当我使用鼠标单击并拖动文本时,没有任何反应 - 文本未被选中.
如何QLabel通过鼠标在可选择的文本中创建文本?
Cor*_*ein 63
码
a的文本QLabel可以通过鼠标选择,如下所示:
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
Run Code Online (Sandbox Code Playgroud)
这可以在QLabel文档中找到.
您可以使用相同的功能来通过键盘选择链接,突出显示URL链接,并使文本可编辑.请参阅Qt :: TextInteractionFlag.
设计师
textInteractionFlags在QLabel菜单下搜索并设置标志TextSelectableByMouse.
这是另一种方法,供参考...您可以在构造函数中创建一个 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)
我认为接受的答案比这个更简单、更可取。