我在我的应用程序中有一个显示错误消息的QLabel
,我希望使标签中的文本可选择,以便用户可以在需要时复制和粘贴错误消息。
然而,当我用鼠标单击并拖动文本时,什么也不会发生 - 文本没有被选中。
我该如何使QLabel
内的文本可通过鼠标选择?
我在我的应用程序中有一个显示错误消息的QLabel
,我希望使标签中的文本可选择,以便用户可以在需要时复制和粘贴错误消息。
然而,当我用鼠标单击并拖动文本时,什么也不会发生 - 文本没有被选中。
我该如何使QLabel
内的文本可通过鼠标选择?
代码
QLabel
的文本可以通过以下方式使其可由鼠标选择:
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
这是在QLabel文档中找到的。
您可以使用同一函数使链接可通过键盘选择,突出显示URL链接,并使文本可编辑。请参见Qt::TextInteractionFlag。
设计师
在 QLabel
菜单下搜索 textInteractionFlags
并设置标志 TextSelectableByMouse
。
label->setCursor(QCursor(Qt::IBeamCursor));
- KiruahxhQLabel(text).setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse)
- Esteban以下是另一种方法,供参考... 您可以创建一个QLineEdit子类,对其进行微调,使其外观和行为与QLabel相似,在构造函数中实现:
setReadOnly(true);
setFrame(false);
QPalette palette = this->palette();
palette.setColor(QPalette::Base, palette.color(QPalette::Background));
setPalette(palette);