1

私は(C ++とGTKmmを使用して)GitHubで利用できる簡単な写真ブラウザーを書いています:

https://github.com/jjkrol/ZPR

現在、私はボタンの作成に取り組んでいます。これにより、ユーザーは現在表示されている写真を外部エディター(GIMPなど)で開くことができます。このため、2つの質問があります。

  • Gtk :: AppChooserDialogクラスの使用例はありますか?何も見つかりませんでした。それらがないとエディターの選択に取り掛かるのは困難です。

  • 最も重要な質問-コマンドラインで写真を使用してアプリケーションを起動する方法を考えています。私の頭に浮かぶ唯一の解決策は、system()呼び出しを使用して次のようなことを行うことです。system( "gimp /path/to/current/photo.jpg"); 、しかしそれはおそらくこれを行うための最良の方法ではありません。誰かがより良い方法を知っていますか?いつか自分のアプリケーションをWindowsに移植したいと思っています。もっとポータブルな方法があれば、それは素晴らしいことです。

事前にどうもありがとうございました。

4

2 に答える 2

1

システムの代わりに、Glib::spawn_command_line_asyncを使用することをお勧めします。あなたがそれを必要とするならば、より多くの制御を与える他の同様の機能があります。

たとえば、glomのようなアプリケーションのソースコードを調べたい場合があります。

于 2012-05-25T06:02:56.603 に答える
0

回答、gpoo、ergosysをありがとうございました!結局、Gio::AppinfoOOPに似ているので、使用することにしました。誰かが同じ問題に直面する場合-これは私が最終的に得たものです:

Glib::RefPtr<Gio::AppInfo> editor = Gio::AppInfo::create_from_commandline("gimp", 
                                    "GIMP", Gio::APP_INFO_CREATE_SUPPORTS_URIS);
Glib::RefPtr<Gio::File> photo = Gio::File::create_for_path(
                                (*currentPhoto)->getPath().string());  
editor->launch(photo);

もちろん、でエディターを選択することGtk::AppChooserDialogはまだ実装されていません。

于 2012-05-26T16:56:19.250 に答える