1

My c++ application needs to display a message via a popup window or an alternative. My application is running on Ubuntu 12.04 version. Can I program the application to open a Ubuntu type popup window? If possible, how?

Do I need to use gnome window or something like that?

4

2 に答える 2

3

GUI を使用しないプログラムからポップアップを表示する最も簡単な方法は、おそらく作業を行うコマンドライン ツールを実行することです。

  • ボタンなしで通知を表示するには、notify-sendを使用できます

    system("/usr/bin/notify-send MessageSubject \"message body here\"");
    
  • ユーザーが応答できるようにボタンが必要な場合は、(はるかに醜い)を使用できますxmessage

    system("/usr/bin/xmessage")
    

(すべてのオプションについては、各ツールのマンページを参照してください)


別の方法は、実際には完全な GUI フレームワーク (おそらく gtk+) を使用することですが、これは通常、小さな変更ではありません。

たとえば、libnotifyを直接使用できます ( と同じ基本機能を使用できますが、より詳細に制御できます) が、これもglibnotify-sendに依存します。これで、 run を実行できたときに 2 つの外部依存関係が追加されました。system

于 2012-08-21T09:58:08.177 に答える
0

ポップアップまたは任意の種類のウィンドウを表示するには、アプリケーション/プログラムで gtk+ または qt ライブラリを参照する必要があります。ubuntu unity デスクトップも gtk+ に基づいているため、gtk+ をお勧めします。この方法では、ubuntu での実行中にプログラムのオーバーヘッドが少なくなり、パフォーマンスが向上します。デフォルトの C ライブラリ (libgtk2.0) または C++ の gtkmm (libgtkmm) のいずれかを使用できます。

これらのライブラリを参照する方法、main() 関数で gtk_main を初期化する方法などの詳細については、http ://www.gtk.org/documentation.php を参照してください。

于 2012-08-19T15:20:32.463 に答える