QMessageBox可以从中选择文本

时间:2015-09-15 15:19:22

标签: qt

有没有办法显示具有可选文本的QMessageBox,以便用户可以使用鼠标或键盘以某种方式选择和复制其内容?我知道我可以创建标签,但不确定消息框。 MS Windows中的标准消息框似乎不允许这样做。

2 个答案:

答案 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();