有没有办法显示具有可选文本的QMessageBox
,以便用户可以使用鼠标或键盘以某种方式选择和复制其内容?我知道我可以创建标签,但不确定消息框。 MS Windows中的标准消息框似乎不允许这样做。
答案 0 :(得分:8)
我更喜欢用样式表来解决这个问题 运行一次,这将影响在应用程序中的任何位置创建的所有消息框:
qApp->setStyleSheet("QMessageBox { messagebox-text-interaction-flags: 5; }");
我使用Qt 5.5测试OS X,它可以工作。
答案 1 :(得分:7)
您需要启用TextSelectableByMouse
互动标记:
QMessageBox mb(QMessageBox::NoIcon, "New message",
"A lot of text", QMessageBox::Ok, this);
mb.setTextInteractionFlags(Qt::TextSelectableByMouse);
int dialogResult = mb.exec();