我的应用程序中有一个QLabel
,它向用户显示错误消息。我想使标签的文本可选,以便用户可以根据需要复制并粘贴错误消息。
但是,当我使用鼠标单击并拖动文本时,没有任何反应 - 文本未被选中。
如何通过鼠标选择QLabel
内的文本?
答案 0 :(得分:60)
<强>代码强>
QLabel
的文字可以通过鼠标选择:
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
这可以在QLabel documentation。
中找到您可以使用相同的功能通过键盘选择链接,突出显示URL链接,并使文本可编辑。请参阅Qt::TextInteractionFlag。
<强>设计强>
在textInteractionFlags
菜单下搜索QLabel
并设置标记TextSelectableByMouse
。
答案 1 :(得分:3)
这是另一种方法,供参考...... 您可以创建一个QLineEdit子类,调整后看起来像QLabel, 在构造函数中:
setReadOnly(true);
setFrame(false);
QPalette palette = this->palette();
palette.setColor(QPalette::Base, palette.color(QPalette::Background));
setPalette(palette);
我认为接受的答案比这更简单,更可取。