問題タブ [gtkmm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
744 参照

gnome - gtkmm ベースの gnome-panel アプレットで画像を表示できない

gtkmm で gnome-panel アプレットを作成しようとすると、問題が発生しました。私はそれらのほとんどに対処しましたが、今はブロックされています。

簡単な要約 : libpanelappletmm を試しましたが、パネルにアプレットを追加しようとすると、すべてのプログラム (ソース コードで提供されている例も含む) で segfault が発生します。そこで、C ライブラリ (libpanel-applet) を使用するようになりました。最初に、Gtk::EventBox (PanelApplet は GtkEventBox を継承しています) などの gtkmm C++ オブジェクトで PanelApplet Gobject をラップする方法を探しました。キャストしようとしましたが、Glibmm は警告をスローし続けました (「オブジェクト 'PanelApplet' のラップに失敗しました」)。

そこで、Gtk::HBox を継承した "Info" クラスを作成しました。私の main.cpp ファイルでは、そのインスタンスを宣言し、基礎となる GTK オブジェクト (gobj メソッド) を取得し、GTK+ 関数を使用してそれを PanelApplet に追加します。

これが私のmain.cppです。

Info オブジェクトにラベルやボタンを追加すると、問題なく動作します。

しかし、私はアイコンを追加しようとしました。私の最初の試みは、Info のプロパティとして Gtk::Image を追加することでした。

情報.hpp

Info.cpp

アプレットを追加しようとすると、次のエラーが発生し、プログラムが中止されます。

Info.hpp の「Gtk::Image icon」にコメントし、コンストラクターを次のように変更しました。

Glibmm エラーは発生しなくなりましたが、画像は表示されません。ストックのアイコン、さらには Gdk::Pixbuf を使用して、別のファイルを試しました。

前もって感謝します !

0 投票する
1 に答える
649 参照

c++ - ustringからサブストリングを取得する

πøˆ∑´®であるustringオブジェクトsourceStringがあります。これらの文字列は、解析中にXMLファイルから取得します。substrメソッドを使用して、これらの文字列を以下のように取得しました。

しかし、私はnull文字列しか取得できませんでした。それから、どのようにサブ文字列を取得する必要がありますか。

0 投票する
2 に答える
528 参照

c++ - Gio ファイル モニターを使用した gtkmm アプリケーション

複数のディレクトリの変更を監視する必要があります。ドキュメントが示唆しているように、ディレクトリモニターを使用Gtk::Main、呼び出し、および追加しています。Gio::Initただし、どのディレクトリに対しても、コールバックは呼び出されません。モニター専用の別のループが必要ですか? もしそうなら、どのように組み合わせて使用​​しGtk::Mainますか?

0 投票する
2 に答える
27128 参照

c++ - gtkmm のコンパイルの問題

OS: フェドラ 14

コンパイラ: g++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)

yum経由でリポジトリからgtkmm24-develをインストールしました。インストールが計画どおりに行われたことを確認するために、ページの例の 1 つを試すことにしました。

私は例を実行しました。gtkmm.h が見つからないと言われましたが、問題ありません。ライブラリをリンクするのを忘れただけです。/usr/include/gtkmm-2.4 を Eclipse のライブラリ検索に追加しました。いいえ、ブエノ、g ++ はまだそれを見つけることができません!

次に、使用して再コンパイルして gtkmm をインクルードしようとしましたが#include <gtkmm-2.4/gtkmm.h>、別のエラーが発生しました! :(

読んでくれてありがとう。

0 投票する
1 に答える
177 参照

tags - ツリービューの内側のツリービュー? またはツリービュー内にリストを表示する方法

オブジェクトのプロパティを一覧表示するツリービューがあります。これらのプロパティの 1 つはタグ (文字列) のリストで、0 から任意の数の項目のリストにすることができます。つまり、曲に「Jazz」、「Favorite」、「Chillout」などのタグを付けることができます。現時点では、これらを各タグをカンマで区切った単一の文字列として実装していますが、より直感的なユーザー インターフェイスが必要です。他のすべてのプロパティは、最初の列がプロパティ名で、2 番目の列がプロパティ値である 2 列のツリービューに表示されます。

これを行う1つの方法は、ユーザーが行をクリックして編集/削除できるタグ行の2番目の列内に別のツリービューを配置するか、新しいタグを追加できる「新しいタグを追加...」行があることだと考えました。タグ。

どうすればこれを行うことができますか?または、別の GUI の提案はありますか?

0 投票する
1 に答える
65 参照

gtk - gtkmmプロジェクトでcファイルを使用する

gtkmmプロジェクトターゲットにcファイルを追加しましたが、cファイルなのでオブジェクトを作成できません。

それで、それを私のプロジェクトに統合できるようにするにはどうすればよいですか。

0 投票する
1 に答える
3040 参照

c++ - GTK+ DrawingArea に四角形を描画すると、DrawingArea 全体が塗りつぶされます

左上隅に長方形を表示する GTK+ DrawingArea があります。Cairo を使用して四角形を描画すると、描画領域全体が四角形の色で塗りつぶされます。どうすればそれを防ぐことができますか? なぜカイロはそうするのですか?私は何を間違っていますか?

を使用してコードをコンパイルしました

0 投票する
2 に答える
107 参照

gtk - libcluttermm-1.0の問題を使用する

ターミナルを使用してgnomeサイトからclutter-1.0をインストールしました。

しかし、アプリケーションを実行すると、libcluttermm-1.0が見つからないというエラーが通知されます。これはあります

現在、ライブラリは利用できません。そうでない場合、私が使用できる代替手段は何ですか。

0 投票する
2 に答える
734 参照

gtk - GTKmm アプリケーションのコードをクリーンアップする

約 6 か月前に GTKMM アプリケーションを開始しましたが、すべてが機能するようになり、実際に毎日使用しています。これは基本的に、別のアプリケーションからデータ ファイルを読み込み、グラフを生成し、データを簡単に並べ替えて表示できるようにするデータベース アプリケーションです。それはいいですね。

しかし、私のコードはごちゃごちゃしていて、今日別の機能を実装しようとしたときに、おそらくどこかで間違った方向に進んでいることに気付きました。

私のメイン ウィンドウ GUI はグレード ファイルで定義され、すべての GUI (Gtk::DrawingArea に基づくカスタム ウィジェットであるプロット ウィジェットを除く) は単一のファイルにあります。ウィジェットとツリーストアへのポインタがいっぱいで、すべてコンストラクタで設定され、デストラクタで削除されます。

GUI 全体が複数のペインに分割されたメイン ウィンドウであるため、すべてを 1 つのファイルにまとめることは理にかなっています。また、異なるペインは他のペインと「通信」する必要があります。

保守しやすいようにコードを整理するにはどうすればよいですか? 基本的にウィジェットのコレクションである新しいクラスを作成し、その「スーパー ウィジェット」をメイン ウィンドウに配置しますか (各ペインはスーパー ウィジェットとします)。

GTKMM のチュートリアルは一般的に非常に最小限に抑えられているため、そこから多くの洞察を得ることができませんでした。

0 投票する
1 に答える
1410 参照

linux - gtkmmでカスタムアプリケーションのテーマを設定する

私はスモールビジネスアプリケーションを開発しており、開発環境はLinuxシステムです。とにかく、私はBoost / GtkMM / SQLiteのようなライブラリを使用しているので、それをWindowsシステム(ターゲットプラットフォーム)またはMacに移植するのは簡単でしょう。すべてのプラットフォームで同じテーマでアプリケーションを表示したいので、テーマをハードコーディングする方法、または少なくともC ++からロードする方法はありますか?この種の問題にはgtk-enginesのようなものが関係していると思いますが、実際にはこの問題を解決する方法がわかりません。提案をありがとう!