可以在全局的所有QLabel上设置textInteractionFlags吗?

时间:2013-12-20 06:59:04

标签: qt

默认情况下,如何在应用程序鼠标中选择所有QLabel(Qt :: TextSelectableByMouse)?

这不仅仅是我感兴趣的标签,而且,例如,QInputDialog中使用的标签,QMessageBox中的标签是可选择的,不可选择。

1 个答案:

答案 0 :(得分:2)

您可以使用QApplication::topLevelWidgets查找所有窗口,使用widget->findChildren<QLabel*>()查找窗口中的所有标签。然后,您可以为每个标签设置适当的标志。您需要定期调用此函数,但不要太频繁(findChildren可能很慢)。也许您可以连接到QApplication::focusChanged信号,检测何时创建新的顶级窗口并检查此窗口。