元スレ
1 :login:Penguin:2007/09/05(水) 13:58:46 ID:2SORZMjm.net
GUIツールキットであるGTK+とその周辺技術についてのスレッド
-前スレ-
http://pc11.2ch.net/test/read.cgi/linux/995808691/
-関連サイト-
本家
http://www.gtk.org/
APIレファレンス
http://library.gnome.org/devel/gtk/stable/
gtkmm(C++ラッパー)
http://www.gtkmm.org/
glade
http://glade.gnome.org/
libglade
http://www.jamesh.id.au/software/libglade/
671 :login:Penguin:2011/08/23(火) 10:55:05.34 ID:fF4RpR06.net
>>670ありがとうございます。
_GtkEntryCompletionPrivate構造体の定義がわからないので諦めました
845 :login:Penguin:2017/11/02(木) 19:59:46.62 ID:88fKOOJi.net
>>844
スレ違いと分かってて書くし使ってるディストリやバージョンは書かないし…
Fedora25の gedit3.22だとAlt+番号で
候補が出ているときはword選択、出てないときはタブ切り替えになる
574 :570:2011/01/27(木) 04:23:46 ID:HXLIqy/B.net
408 :login:Penguin:2010/01/28(木) 18:04:22 ID:VFHNmy96.net
>>407
突っ込みどころが3点ほど。
・rc.localに登録して起動し、さらにログインした後にも起動・・・?
・gtk_init()だけ実行するプログラムを作ったの?
だとしたら壮大な勘違いをしている。gtk_init()関数が何をする関数なのか調べるんだ。
・「ログ」とは何のログ?ハングしているらしい、では分からないのでソースをUPするんだ。
23 :login:Penguin:2007/09/19(水) 11:09:35 ID:n7MsIjqh.net
topやnetstatなどの基本的なCUIコマンドをGtkを使ってGUI化したものってないかな?
TreeViewで簡単にsortを掛けることができるような…
なければ自分で造ろうとしているのだけど、既存のものあれば参考にしたい。
TreeViewの各要素にlabelを埋め込んで、このlabelをCUIコマンドで得られる
データーにあわせて変更するような、力づくなコーディングをしてみたんだけど
もっとエレガントな方法はないものか…
812 :login:Penguin:2017/09/25(月) 09:15:38.26 ID:bLbAubVC.net
VTEのspawnなんとかのAPIはいつになったらファイナライズされるのかね(怒
869 :login:Penguin:2018/01/29(月) 00:03:00.38 ID:GKNlaBKy.net
354 :login:Penguin:2009/11/22(日) 08:57:13 ID:OlBHF5u9.net
>>351
Xのレベルではそれが通常の動作(モディファイアキー(の一部)以外では)。
Xはautorepeat時にKeyReleaseと続くKeyPressでタイムスタンプを同一にして
送ってくるので、GDKはそれを利用して>>352のように見せるコードが
一応入ってはいる、が、環境や同時に利用するプログラムといった条件によっては
それが働かないみたい。
自分の環境だけ考えるならGDKの該当部分に手を入れて常にその動作をするように
してしまうのが簡単。そうでないならやはり同様に次のイベント
(gdk_event_peekで得るのかな)とそのタイムスタンプを見て判断するんじゃないかと。
790 :login:Penguin:2014/12/27(土) 20:58:23.25 ID:FwEwRAao.net
すみませんが質問させてください
gtkmmでボタンを作りボタンを押された時にソケットで通信しようとしたのですが
select関数をした時に「リソースが一時的に利用できません」と出てしまい動きません
コンストラクタでselect関数を使うと動くのですが・・・
gtkmmに通信を阻害する要因とか有るのでしょうか?
470 :466:2010/09/30(木) 03:18:19 ID:oEA2zNJX.net
>>467
ありがとう。その方法でやってみる。
>>468
GtkBuilderは、以前のlibgladeにあたるもの。
それに、C++BuilderはMSじゃないぞ。
>>469
もちろん、Glade使ってXMLを作成してるよ。
それを読み込むのがGtkBuilder。
689 :login:Penguin:2011/08/31(水) 00:52:22.06 ID:n3SEIKnI.net
372 :login:Penguin:2009/12/16(水) 20:51:22 ID:dPFj9y5E.net
>>369
すごいですね
勉強のためにぜひソースを見せて頂けないでしょうか?
561 :login:Penguin:2011/01/15(土) 22:11:43 ID:KQmBhVmm.net
71 :login:Penguin:2008/06/01(日) 16:17:00 ID:Qfk/evfC.net
gtk_widget_realizeしても状況変わらずです。
ソースはこうなってます。
int main( int argc, char *argv[])
{
GtkWidget *window; /* メインウインドウ */
GtkWidget *test_window; /* テストウインドウ */
GtkWidget *button_start; /* スタートボタン */
GtkWidget *button_quit; /* 終了ボタン */
GtkWidget *hbox; /* 垂直ボックス */
GtkWidget *vbox; /* 水平ボックス */
GtkWidget *separator; /* セパレーター */
GtkWidget *drawingarea; /* 描画領域 */
GdkPixbuf *pixbuf;
gchar bits[32] = { 0};
GdkBitmap *bitmap;
GdkColor color = {0, 0, 0, 0};
GdkCursor *cursor;
/* 初期化 */
gtk_init( &argc, &argv);
window = gtk_window_new( GTK_WINDOW_TOPLEVEL);
drawingarea = gtk_drawing_area_new();
vbox = gtk_vbox_new( FALSE, 0);
hbox = gtk_hbox_new( FALSE, 0);
button_start = gtk_button_new_with_label( “Start”);
button_quit = gtk_button_new_with_label( “Quit”);
separator = gtk_hseparator_new();
102 :login:Penguin:2008/10/22(水) 01:14:52 ID:1Hw6zT+4.net
複数のファイルをユーザーに選択させ、そのファイルのパスをリストなり
配列なりで得たいと考えています。
調べてみたところ GtkFileChooserDialog は単一ファイル|ディレクトリ
にしか対応していないようなのですが、上記のような機能は自前で実装す
るしかないのでしょうか。
152 :login:Penguin:2008/12/28(日) 11:37:59 ID:5NoVhFnO.net
142 :login:Penguin:2008/12/26(金) 23:23:17 ID:Z/96o+8l.net
374 :login:Penguin:2009/12/16(水) 20:54:06 ID:6soPE05o.net
∧__∧
(´・ω・) いやどす
ハ∨/^ヽ
ノ::[三ノ :.、
i)、_;|*く; ノ
|!: ::.”.T‾
ハ、___|
“””‾””””””‾”””‾”””‾”
589 :login:Penguin:2011/02/13(日) 23:32:30 ID:q0+Fj2Ij.net
>>588
ありがとうございます。
なるほど、そのようなやり方があるのですね。
非同期のプロセスで画像を表示し、
ファイルコピーが完了したら
プロセスをkillするということで理解しました。
私の思っていることが出来そうです。
たいへん勉強になりました。
>>587
同僚の仕事を楽にするために、手伝っています。
今回の件のソースは公開しても全然問題ないのですが、
今後は気をつけようと思います。
以上、ありがとうございました。
870 :login:Penguin:2018/02/04(日) 14:47:47.61 ID:QeG1ckHC.net
187 :login:Penguin:2009/03/29(日) 11:33:55 ID:JOkFFCq+.net
Windowsでは、自分以外のプロセスが管理しているウィンドウのハンドル(動作中のOS上で
ユニークな識別番号)を得ることができれば、そのウィンドウのサイズやデスクトップ上での
位置などを好きにいじくったりできるのですが、LinuxのGTK+(またはGNOMEもしくはX Window
System)にそのようなAPIのようなものはありますか?
385 :login:Penguin:2009/12/28(月) 02:58:56 ID:CtQUEG8Y.net
68 :login:Penguin:2008/06/01(日) 15:45:23 ID:vBepI6CX.net
gtk_widget_realize() 前の widget->window を触ろうとしてるのが原因かな?
786 :login:Penguin:2014/10/04(土) 21:22:31.83 ID:PLRFhsu2.net
659 : 忍法帖【Lv=5,xxxP】 :2011/06/12(日) 17:23:21.85 ID:JGUSf8uW.net
442 :login:Penguin:2010/05/04(火) 21:20:07 ID:C0XJN+7X.net
なんでこのスレ、ム板じゃないの?
SDLとかはちゃんとム板でやってるのに
なんでGTKはのけ者なの?
いじめに合うの?
297 :login:Penguin:2009/10/24(土) 12:25:04 ID:9hbzJrW8.net
573 :login:Penguin:2011/01/26(水) 11:33:09 ID:h7bjSSMJ.net
662 :login:Penguin:2011/06/22(水) 01:11:44.45 ID:c+3U0RiB.net
836 :login:Penguin:2017/11/01(水) 19:12:33.94 ID:6RRJjvM+.net
デモとして違うのも作ってみました
>>819-824のプログラムのthread_func()関数を下のものに差し替えてみてください
static gpointer thread_func( gpointer data){
int i, j, col, i1, depth;
double xgap, ygap, xx, yy, a1, b1, x1, y1, tmp1, x2, y2;
double xcorner, ycorner, length;
cairo_t *ic;
int count01;
struct {
double xcorner;
double ycorner;
double length;
} param[8];
param[0].xcorner = -1.785666666666666e+000; param[0].ycorner = -2.508333333333312e-002;
param[0].length = 5.000000000000000e-002;
param[1].xcorner = -1.759984700520832e+000; param[1].ycorner = -1.518603515624978e-002;
param[1].length = 9.765625000000001e-005;
param[2].xcorner = -1.759906697591145e+000; param[2].ycorner = -1.515360514322895e-002;
param[2].length = 6.103515625000000e-006;
param[3].xcorner = -1.759901244004566e+000; param[3].ycorner = -1.515219028790770e-002;
param[3].length = 4.768371582031250e-008;
param[4].xcorner = -1.759901209723814e+000; param[4].ycorner = -1.515217680089193e-002;
param[4].length = 5.820766091346741e-012;
param[5].xcorner = -2.112213541666665e-001; param[5].ycorner = -7.939140624999994e-001;
param[5].length = 1.562500000000000e-003;
15 :login:Penguin:2007/09/16(日) 18:03:08 ID:nKbLcQMO.net
654 :login:Penguin:2011/06/05(日) 12:08:13.55 ID:2//sPV3W.net
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください
712 :login:Penguin:2012/03/20(火) 06:02:28.11 ID:jPw9I0u0.net
80 :login:Penguin:2008/09/15(月) 23:03:03 ID:EmRnvQ2i.net
467 :login:Penguin:2010/09/29(水) 07:30:54 ID:gR2Kn98z.net
>>466
GtkBuilder を複数生成すればいいんじゃないの?
自分がよくやるのは、GtkBuilder を複数生成して gtk_builder_add_from_string で定義を取り込み
431 :login:Penguin:2010/03/19(金) 03:10:05 ID:pTXFbkuH.net
Xawで作られたソフトのWidgetをGnomeテーマのスキンっぽく
変える方法ってありますか?Xaw3dみたいな
281 :login:Penguin:2009/10/21(水) 21:25:41 ID:6UoL2jU0.net
563 :login:Penguin:2011/01/17(月) 01:09:27 ID:VJob0is5.net
すいません、アプリケーションによって
トリプルクリックでの反転の仕様は違うようですが、
マウス位置が所属するパラグラフ、単語、行を同時にとりこみたいのです。
言い忘れましたが想定する言語は英語などアルファベットのものです。
742 :login:Penguin:2012/06/10(日) 07:41:42.40 ID:NypXeHdm.net
>>739
launcher みたいの作ろうとしてるんだろうか…
いまいちどういうことなのか判らないんだけど
logメッセージを抑制したいなら glib 2.32から
http://www.mail-archive.com/geany-devel@uvena.de/msg06039.html
G_LOG_LEVEL_CRITICAL
log level for critical messages, see g_critical(). This level is also
used for messages produced by g_return_if_fail() and g_return_val_if_fail().
ある程度デフォルトだと出力されなくなるみたい
onにするときは環境変数G_MESSAGES_DEBUG=allで以前と同じ動作になるらしい
175 :167:2009/01/22(木) 01:25:28 ID:qMqmINP5.net
570 :login:Penguin:2011/01/26(水) 06:42:35 ID:n1B9dBtN.net
VBoxにLabelやEntryをいくつか配置すると高さが全て均等になりますが、高さを設定するにはどうすればいいですか?
756 :login:Penguin:2012/12/02(日) 14:08:52.19 ID:jmMYkF+D.net
162 :login:Penguin:2009/01/11(日) 10:45:28 ID:G50GhRZF.net
「右」キーにアクションをバインドしたいんですが、どうすればできますか?
今は仕方なく
gtk_widget_add_accelerator (foo, “activate”, accel_group,
GDK_Right, GDK_MODIFIER_MASK,
GTK_ACCEL_VISIBLE);
のようにしてますが、実際は GDK_MODIFIER_MASK 無しで「右」キーのみ
で作用するようにしたいんです。
664 :login:Penguin:2011/07/01(金) 01:05:56.23 ID:GKt7GreK.net
cairoは死んでしまったのか…
Firefoxに見捨てられ更新もほとんど無い
637 :login:Penguin:2011/05/15(日) 23:53:02.86 ID:IS7vzHtp.net
>>634
1. パスの通し方でからんでるアホ
2. スレ違いのグダグダにからんでるアホ
3. >>637 このレス
同レベル。
46 :login:Penguin:2008/03/23(日) 18:19:48 ID:DWfALAId.net
782 :login:Penguin:2014/06/08(日) 10:20:05.83 ID:kFAavqfc.net
ComboBoxでドロップダウンアイテムを選択した時に発生する
イベントってなに?
704 :login:Penguin:2011/10/17(月) 00:11:29.94 ID:OFrElfAX.net
ボタンを押されたときに、シグナルコネクト先を変更したいのですが
if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
ボタンを押されたら、シグナルコネクト先を変更するにはどうすればいいのでしょうか?
701 :login:Penguin:2011/10/04(火) 05:45:48.43 ID:OMJjY+ZZ.net
指示レス番まちがえたけど 訂正しねーよ!(我が家杉山)
6 :login:Penguin:2007/09/05(水) 23:18:58 ID:6zMwszt6.net
>>5
使えるな〜と思ったら、gladeの開発版を使っているのですね。
情報Tnx
GNOME-2.20でanjutaが入らないみたいなので残念です。
788 :login:Penguin:2014/10/05(日) 12:54:17.13 ID:8NkrJ1Fe.net
148 :login:Penguin:2008/12/27(土) 20:43:22 ID:6XGFKeOe.net
>>144
速くなるって、なんかベンチの結果でもあんの?
skiaを用いているgoogle chromeのcanvasが爆速という話なら聞いたことがあるが
>>146
普通にcairoをコンパイルすると、Windowsではcairo-win32-font.cが使われる
これは普通にGDIを用いているので、普通のWindowsアプリのフォントの
レンダリングと全く同じ結果になる
一方LinuxではFreeTypeが使われる
818 :login:Penguin:2017/10/15(日) 20:41:28.01 ID:IZYKuyT8.net
469 :login:Penguin:2010/09/29(水) 18:41:46 ID:jeMZvjSG.net
814 :login:Penguin:2017/10/10(火) 12:36:19.63 ID:d/a7Ir8S.net
python3+gtk3で作るに際し
IDE (統合環境)みたいなのってある?
そう大げさなものでなくてよくて
コード補完(gtkのメソッドの)が
出来ればいいかなぐらいの感じなんだけど
もしくは大抵何が使われているのか
723 :login:Penguin:2012/03/29(木) 22:37:41.77 ID:CN8scaWa.net
anjutaを使ってみたところ
gtk_signal_connectだと警告なしでコンパイルできるのに
g_signal_connectだと暗黙的関数宣言のエラーになるんですが
どうやったら直せるでしょうか?
534 :login:Penguin:2010/12/02(木) 08:40:09 ID:TtpWl3rj.net
603 :login:Penguin:2011/03/13(日) 23:48:32.57 ID:u6WvClB5.net
277 :login:Penguin:2009/10/18(日) 09:59:19 ID:oZOJkxHq.net
glade自体はまだまだ現役だよ。
ただlibgladeはもうobsoloteだけどね。
211 :login:Penguin:2009/07/25(土) 11:39:56 ID:IOPwPp1+.net
85 :login:Penguin:2008/10/18(土) 23:13:41 ID:HfwrrshF.net
Cでシコシコやろうとしてる/やってる俺はどうなんでしょ
840 :login:Penguin:2017/11/01(水) 20:39:13.35 ID:A1HFLP/N.net
228 :login:Penguin:2009/09/01(火) 01:51:56 ID:o0MV2wSR.net
class AppWindow : public Gtk::Window
{
public:
static const char* GLADE_FILE_NAME;
static const char* WINDOW_NAME;
static void Initialize(int argc, char** argv);
AppWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
virtual ‾AppWindow();
protected:
void on_quit_action_activated();
private:
const Glib::RefPtr<Gtk::Builder>& m_builder;
Glib::RefPtr<Gtk::Action> m_act_quit;
};
133 :login:Penguin:2008/12/23(火) 21:14:13 ID:2F34Up+Q.net
632 :login:Penguin:2011/05/15(日) 20:44:42.05 ID:CFcmlqIg.net
まあ、パスの通し方でからんでるアホも、
同レベルとみなした方が良さそうではあるがな
665 :login:Penguin:2011/07/01(金) 01:22:39.19 ID:qaXNzYOT.net
>>664
gitのログ見たけど更新しまくってね?リリース見ても5月中にも
pycairoとかcairommとかバインディング関係が更新あるしcairo自体は既に成熟期だろ
それとIDが惜しい
449 :login:Penguin:2010/05/25(火) 09:28:21 ID:wq6kVR7V.net
77 :login:Penguin:2008/06/02(月) 17:09:32 ID:vhO0kEsD.net
405 :login:Penguin:2010/01/26(火) 18:04:33 ID:R1nywYDP.net
>>404
返信ありがとうございます。
…勉強します。
718 :login:Penguin:2012/03/28(水) 08:35:06.02 ID:ThQeaUjt.net
EmacsとかVisual Studioみたいなマルチストロークのキーバインドって
GTK+でできますか?
レスを投稿する(名前省略可)