QMessageBox可以从中选择文本

Pet*_*etr 8 qt

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

Ale*_*kin 8

您需要启用TextSelectableByMouse交互标志:

QMessageBox mb(QMessageBox::NoIcon, "New message",
               "A lot of text", QMessageBox::Ok, this);
mb.setTextInteractionFlags(Qt::TextSelectableByMouse);
int dialogResult = mb.exec();
Run Code Online (Sandbox Code Playgroud)


Mar*_*k R 8

我更喜欢使用样式表来解决这个问题.
运行一次,这将影响在应用程序中任何位置创建的所有消息框:

qApp->setStyleSheet("QMessageBox { messagebox-text-interaction-flags: 5; }");
Run Code Online (Sandbox Code Playgroud)

我用Qt 5.5测试了OS X,它可以工作.