我的应用程序中有一个QLabel
向用户显示错误消息。我想让标签的文本可选择,以便用户可以在需要时复制和粘贴错误消息。
但是,当我使用鼠标单击并拖动文本时,什么也没有发生 - 文本没有被选中。
如何使QLabel
鼠标可选中的文本?
代码
QLabel
可以通过鼠标选择a 的文本,如下所示:
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
这可以在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);
我认为接受的答案比这个更简单,更可取。