Как открыть графический интерфейс «Открыть каталог» с C ++ в Ubuntu?

0

Я пишу программу C++ для распознавания образов в OpenCV. Подсказка для ввода пользователем, когда пользователь вводит опцию "Просмотр базы данных изображений", я хочу, чтобы окно показывало файлы в этом каталоге. Я попробовал системный вызов с

system("nautilus /home/sample/index.jpg");

но он говорит, что не смог найти каталог и попросил проверить орфографию. Мне было интересно, было ли это из-за выполнения программы из другого каталога. Может ли кто-нибудь объяснить, почему это происходит? Если да, то как обойти это?

  • 0
    Чтобы узнать о возможностях GUI-приложений в Ubuntu, взгляните на Qt или Gtk .
  • 0
    Не запускайте свои программы с system , используйте для этого соответствующие системные вызовы.
Теги:
system-calls

2 ответа

1
Лучший ответ

Если вы хотите открыть nautilus, поместите полный путь (возможно,/usr/bin/nautilus, но вы можете легко обнаружить, используя какую команду).

Некоторые дополнительные примечания:

  • Не все системы Linux имеют Nautilus (например, Mint заменил Nautilus на nemo)

  • Если вы хотите создавать интерактивные окна, вам нужна правильная графическая библиотека. В этом случае, поскольку вы программируете в C++, я предлагаю вам использовать Qt, который доступен во всех дистрибутивах на рабочем столе Linux.

  • 0
    Спасибо за ответ. Я использовал команду which на nautilus, и она вернула usr / bin / nautilus. Когда я заменяю его в программе, он возвращает это: sh: 1: usr / bin / nautilus: not found. Как быстро я могу разработать "Open Directory" с помощью Qt. Я знаю, что это зависит от моих усилий, но так как я совершенно новичок в Javascript / Qt. Не могли бы вы рассказать мне об этом тоже?
  • 0
    Я понял..! :) Извините, я не использовал "/" перед usr в usr / bin / nautilus, и именно поэтому я получил эту ошибку. Огромное спасибо. Мне не нужно использовать Qt сейчас. Благодарю.
0

Вы должны использовать менеджер файлов по умолчанию, а не наутилус или любой другой. Попробуйте посмотреть здесь: Linux-приложения по умолчанию, Как найти файловый менеджер по умолчанию

  • 0
    Ссылка, как найти менеджер по умолчанию, была полезна в поиске другого способа сделать то, что я хотел. xdg-open работал. :) Спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню