Я протестировал две версии, обе имею очень похожую проблему. Первый был спроектирован и создан для RH7, а затем просто помещен в среду RH9 со всеми необходимыми файлами .so. Он выполняет сегментацию перед отображением любого окна и создает следующую обратную трассировку:
Код: Выделить всё
#0 in g_log ()
#1 in load_modules.lto_priv () at /usr/lib64/libgtk-x11-2.0.so.0
#2 in _gtk_modules_settings_changed () at /usr/lib64/libgtk-x11-2.0.so.0
#3 in display_opened_cb.lto_priv () at /usr/lib64/libgtk-x11-2.0.so.0
#4 in g_closure_invoke () at /usr/lib64/libgobject-2.0.so.0
#5 in signal_emit_unlocked_R () at /usr/lib64/libgobject-2.0.so.0
#6 in g_signal_emit_valist () at /usr/lib64/libgobject-2.0.so.0
#7 in g_signal_emit_by_name () at /usr/lib64/libgobject-2.0.so.0
#8 in gdk_display_open () at /usr/lib64/libgdk-x11-2.0.so.0
#9 in gdk_display_open_default_libgtk_only () at /usr/lib64/libgdk-x11-2.0.so.0
#10 in gtk_init () at /usr/lib64/libgdk-x11-2.0.so.0
#11 in QGtkStyleprivate::getIconThemeName() at ./lib/libQtGui.so.4
#12 in QGuiPlatformPlugin::systemIconThemeName() at ./lib/libQtGui.so.4
#13 in QIconLoader::updateSystemTheme() at ./lib/libQtGui.so.4
#14 in qt_set_x11_resources () at ./lib/libQtGui.so.4
#15 in qt_init () at ./lib/libQtGui.so.4
#16 in QApplicationPrivate::construct () at ./lib/libQtGui.so.4
#17 in QApplication::QApplication () at ./lib/libQtGui.so.4
#18 in main ()
Код: Выделить всё
#0 in g_log ()
#1 in _g_io_module_get_default () at /usr/lib64/libgio-2.0.so.0
#2 in g_vfs_get_default () at /usr/lib64/libgio-2.0.so.0
#3 in g_file_new_for_uri () at /usr/lib64/libgio-2.0.so.0
#4 in gtk_css_provider_load_from_resource () at /usr/lib64/libgtk-3.so.0
#5 in _gtk_css_provider_load_named () at /usr/lib64/libgtk-3.so.0
#6 in settings_update_theme () at /usr/lib64/libgtk-3.so.0
#7 in gtk_settings_get_for_display () at /usr/lib64/libgtk-3.so.0
#8 in display_opened_cb.lto_priv () at /usr/lib64/libgtk-3.so.0
#9 in g_cclosure_marshal_VOID__OBJECTv () at /usr/lib64/libgobject-2.0.so.0
#10 in g_signal_emit_valist () at /usr/lib64/libgobject-2.0.so.0
#11 in g_signal_emit () at /usr/lib64/libgobject-2.0.so.0
#12 in g_signal_emit_valist () at /usr/lib64/libgobject-2.0.so.0
#13 in g_signal_emit_by_name () at /usr/lib64/libgobject-2.0.so.0
#14 in _gdk_x11_display_open () at /usr/lib64/libgdk-3.so.0
#15 in gdk_display_manager_open_display () at /usr/lib64/libgdk-3.so.0
#16 in gtk_init_check () at /usr/lib64/libgtk-3.so.0
#17 in gtk_init () at /usr/lib64/libgtk-3.so.0
#18 in QGtk3Theme::GQtk3Theme () at /usr/lib64/qt5/plugins/platformthemes/libqgtk3.so
#19 in QGtk3ThemePlugin::create () at /usr/lib64/qt5/plugins/platformthemes/libqgtk3.so
#20 in QPlatformThemeFactory::create () at /usr/lib64/qt5/plugins/platformthemes/libqgtk3.so
#21 in QGuiApplicationPrivate::createPlatformIntegration () at /usr/lib64/libQt5Gui.so.5
#22 in QGuiApplicationPrivate::createEventDispatcher () at /usr/lib64/libQt5Gui.so.5
#23 in QCoreApplicationPrivate::init () at /usr/lib64/libQt5Core.so.5
#24 in QGuiApplicationPrivate::init () at /usr/lib64/libQt5Gui.so.5
#25 in QApplicationPrivate::init () at /usr/lib64/libQt5Widgets.so.5
#26 in main ()
Мне кажется, что у них обоих одинаковая проблема, только в разных версиях Qt. Оба используют общие проходы через gtk_init, display_opened_cb.lto_priv, g_signal_emit_valist и некоторые другие.
Я знаю, что для того, чтобы это приложение работало на RH7, вы должны добавить:
Код: Выделить всё
[Qt]
style='adwaita'
Нужно ли мне сделать что-то другое в RHEL9, чтобы сообщить моей среде, что Qt использует стиль gtk? Честно говоря, я ничего не знаю о gtk и не очень много о Qt.
Эта проблема кажется настолько неясной, что я не жду решения, но любая помощь или указания будут очень признательны.
Подробнее здесь: https://stackoverflow.com/questions/786 ... 7-to-rhel9