QFileDialog:GtkDialog映射没有临时父级

时间:2017-12-16 16:29:33

标签: c++ qt

我在Linux下运行的用C ++编写的Qt编写的程序的源代码片段创建了一个用于打开现有文件的QFileDialog。如果我执行此操作,一切似乎都可以正常工作,但是当对话框创建时,我收到一条警告说" Gtk-Message:GtkDialog映射时没有一个短暂的父级"

在另一个thread我发现调用此函数> gtk_window_set_transient_for()"修复此错误。但是这个函数是GTK库的一部分,但我使用的是Qt框架。那么有什么解决方案可以解决这个错误吗?

此对话框的父级是QMainWindow:

QString filename = QFileDialog::getOpenFileName(this, "Open File");

1 个答案:

答案 0 :(得分:1)

从阅读https://forum.qt.io/topic/85997/gtk-warning-for-native-qfiledialog-under-linux我可以看出这是Qt中的一个问题,我们作为Qt用户无法直接解决(即使我们真的不希望作为Qt的吸引力的一部分是跨平台支持)。即使在Qt中修复它,它自己看起来也很难,因为QWidget不能成为GTK对话框的父级。

我想到的唯一一件事就是可能会重定向错误消息"不知何故"压制它。