X



トップページLinux
926コメント335KB

GTK+プログラミング

0558login:Penguin
垢版 |
2011/01/13(木) 20:20:21ID:XeFPXStO
連投すいません。
本家のフォーラムで聞いてみようと思います。
0559login:Penguin
垢版 |
2011/01/14(金) 03:23:12ID:KnKuBbAY
初心的な質問でスミマセンが

pythonでglade3でつくったLabelの内容を変更するには
どう直したらよいか教えていただけますか?
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import os.path
import gtk
import gtk.glade
class counterGTK:
def __init__(self):
self.gladefile = 'var0.1.glade'
self.wTree = gtk.Builder()
self.wTree.add_from_file(略)
# count number
self.number1 = 0
dic = {
"on_clicked1" : self.on_clicked1 ,
"on_clicked2" : self.on_clicked2 ,
"on_window1_destroy" : self.on_window1_destroy }
self.wTree.connect_signals(dic)
self.mainWindow = self.wTree.get_object("window1")
self.mainWindow.show_all()
def on_window1_destroy(self, widget):
gtk.main_quit()
def on_clicked1(self, widget, event=None):
self.number1 += 1
# !!!ここが変と表示が出ます。
self.mainWindow.set_text(str(self.number1))
if __name__ == "__main__":
0562login:Penguin
垢版 |
2011/01/17(月) 01:04:20ID:VJob0is5
ブラウザやエディタの上で、
マウスカーソルの下にあるテキストを取得する単純な
方法ってあるんでしょうか?ダブルクリックすると反転する単語
を取り込みたいのですが。出来ればトリプルクリックで反転する
一行も一緒に取り込みたいです。


0563login:Penguin
垢版 |
2011/01/17(月) 01:09:27ID:VJob0is5
すいません、アプリケーションによって
トリプルクリックでの反転の仕様は違うようですが、

マウス位置が所属するパラグラフ、単語、行を同時にとりこみたいのです。
言い忘れましたが想定する言語は英語などアルファベットのものです。
0564login:Penguin
垢版 |
2011/01/19(水) 01:15:17ID:AHjWAb2g
GTK+3.0のリリースが楽しみだなぁ
Windows版とかMac版の出来が気になる
0565login:Penguin
垢版 |
2011/01/21(金) 13:29:12ID:oTTqy+gy
>>561
遅れてすみません
self.mainWindow.set_title(str(self.number1))
に直すとウィンドウのタイトル欄の方に表示
おかげで一歩前進できたありがとうございました
0566login:Penguin
垢版 |
2011/01/25(火) 22:03:31ID:93ZVq4E+
家計簿のようなものを作りながらPyGTKの勉強をしております。
TreeViewを使ってリストを作成しているのですが、

ID 値段 名前 メモ
1 100 コーラ 自販機
2 200 カルピス 自販機

のようなリストがあるとして、リスト中を右クリックすると編集メニューを出すようにしたいのですが、
右クリックした際にメニューを出す方法や、右クリックした列の値の取得方法がわからず悩んでおります。

どのようなコードで実現できるでしょうか?
0568login:Penguin
垢版 |
2011/01/25(火) 23:38:42ID:93ZVq4E+
>>567
いろいろなワードで調べてみたのですが、見つけることができませんでした。
>>567の検索候補も見てみたのですが、TreeViewで右クリックした時の処理はあるのですが、
右クリックした行の値を取得する方法はありませんでした。
0569login:Penguin
垢版 |
2011/01/25(火) 23:55:07ID:p4XnSN29
>>568
テストしてないけど、gtk.TreeView.get_selection()で取れない?
0570login:Penguin
垢版 |
2011/01/26(水) 06:42:35ID:n1B9dBtN
VBoxにLabelやEntryをいくつか配置すると高さが全て均等になりますが、高さを設定するにはどうすればいいですか?
0572login:Penguin
垢版 |
2011/01/26(水) 09:51:05ID:z74Fwadf
GTK+を使ってシリアルポートで自作ハードウェアと通信することは出来ますか?
0574570
垢版 |
2011/01/27(木) 04:23:46ID:HXLIqy/B
HBOXでは高さの指定ができないのですかね
0575login:Penguin
垢版 |
2011/01/28(金) 11:05:05ID:Gptdpqjn
すいません、教えてください。
ubuntuにて、pixmapにgdk_draw_stringで日本語を表示させたいのですが、文字化け
し、下記のメッセージが出ます。
does not support all the required character sets for the current locale "ja_JP.utf8"
どのようにしたら正常に表示できるようになるでしょうか。
0576login:Penguin
垢版 |
2011/01/29(土) 01:44:56ID:6hO1Bdmk
ロケールやフォントを変更したらどうだろうか?
0577login:Penguin
垢版 |
2011/01/29(土) 02:07:22ID:l0OT+bD3
gdk_draw_ナントカはdeprecated
cairo使ってね
0578login:Penguin
垢版 |
2011/02/01(火) 23:01:59ID:4jG8Kz/p
TreeViewの文字列にURLがあればハイパーリンクにしたいと思っているのですが、TreeViewの文字列を
ハイパーリンクにするにはどのようにすればいいのでしょうか?

0579login:Penguin
垢版 |
2011/02/02(水) 20:38:30ID:KRwtVrWu
>>578
g_spawn_command_line_sync()でgvfs-openコマンド呼べばいいんじゃね?
ダメならエラーが返るだろうし。
URLかどうか判断するなら、GRegex使うのが良いのかな?
0580login:Penguin
垢版 |
2011/02/12(土) 01:27:29ID:Tq5jzXI4
3.0 releaseしてたんだな
0581login:Penguin
垢版 |
2011/02/13(日) 02:06:32ID:Y2lUgTlR
結局、OpenGLは統合されなかったか…
0582login:Penguin
垢版 |
2011/02/13(日) 16:56:29ID:q0+Fj2Ij
以下のように画像を表示するだけのプログラムを作成しました。
この画像を表示したまま、プログラムを終了したいのですが、
そのようなことは可能でしょうか。
(他のプログラムに上書きされるまで、プログラム終了後も画像を表示しつづける。)

/* 画像表示領域の生成 */
drawing_area = gtk_drawing_area_new();
gtk_widget_set_size_request( drawing_area,
gdk_pixbuf_get_width( pixbuf ),
gdk_pixbuf_get_height( pixbuf ) );

gtk_container_add( GTK_CONTAINER( window ), drawing_area );

g_signal_connect( G_OBJECT( window ), "delete_event",
G_CALLBACK( close_window ), pixbuf );

g_signal_connect( G_OBJECT( drawing_area ), "expose_event",
G_CALLBACK( expose_event ), pixbuf );

gtk_widget_show_all( window );
gtk_main();
0583login:Penguin
垢版 |
2011/02/13(日) 17:17:13ID:CYJdXAks
ウィンドウの×ボタンを押したら隠れるのはすぐできるけど、何がしたいのかよくわからないので教えて
0584login:Penguin
垢版 |
2011/02/13(日) 17:45:42ID:q0+Fj2Ij
>>583
説明が少なくてすいません。

X86 Linux PCを使って業務用のシステムを作っています。

PCを起動して、OSが立ち上がったあと、自動で以下の処理を行います。
1)USBメモリが接続されているチェックします。
2)もしUSBメモリがマウントできたらファイル(数百Mバイト)をHDDにコピーします。
3)ファイルコピー完了後に、メインの処理を行います。

2)のファイルコピーに時間がかかるため、その間に「しばらくお待ちください」という静止画を
フルスクリーンで表示したいんです。1)〜3)の処理はシェルスクリプトで行い、

#!/bin/bash
(省略)
  |
静止画を表示
cp aaa.bin /temp // ファイルコピー
静止画を消す
  |
メインの処理

という感じでやりたいと考えています。

シェルスクリプトでやるのが最適かどうかわからないのですが・・・。
0585login:Penguin
垢版 |
2011/02/13(日) 17:56:06ID:XiVInOjw
で、教えたらお前の給料の何割くれるんだ?
0586login:Penguin
垢版 |
2011/02/13(日) 18:14:42ID:ibuao8Zp
プログラム起動→メッセージ表示→シェル実行→シェルの終了待ち→戻り値確認→終了処理
ではダメなん?
0587login:Penguin
垢版 |
2011/02/13(日) 18:30:28ID:YWgLFWCD
>>584
商売でオプソ使うのは止めたほうがいいよ
嫌味で言ってるんじゃなくて、法務的な問題が多すぎてメリット無いって
ソースコード開示しろって言われたとき、開示できる仕様なの?
客先とトラブルになっちゃうよ?
止めた方がいいと思うけど
0588583
垢版 |
2011/02/13(日) 20:56:45ID:L9k+0hAb
>>584
内容了解。俺だったらこんな感じに実装するけどこでどうかな?
どうしても一回プロセス自体終了する必要があるのであれば
もう少し手を入れないといけないと思う。

スクリプト内のhelloworld.pyは以下のもの
http://www.pygtk.org/pygtk2tutorial/examples/helloworld.py

#!/bin/bash
${PWD}/helloworld.py &
GTKPID=$!
sleep 10
kill ${GTKPID}
exit
0589login:Penguin
垢版 |
2011/02/13(日) 23:32:30ID:q0+Fj2Ij
>>588
ありがとうございます。
なるほど、そのようなやり方があるのですね。

非同期のプロセスで画像を表示し、
ファイルコピーが完了したら
プロセスをkillするということで理解しました。

私の思っていることが出来そうです。
たいへん勉強になりました。

>>587
同僚の仕事を楽にするために、手伝っています。
今回の件のソースは公開しても全然問題ないのですが、
今後は気をつけようと思います。

以上、ありがとうございました。
0591login:Penguin
垢版 |
2011/02/19(土) 17:26:47ID:7Kan848G
PyGTKを使っているのですが、TreeViewのデータを更新したいのですがどのようにすればわからず苦しんでおります。

行いたいことは、
TreeViewに(ID,TEXT)というカラムありデータが羅列しています。
そのIDを指定してTEXTの内容を変更したいのですが、どのようにすればいいでしょうか?

どうかご教授頂ければと思います。
0593login:Penguin
垢版 |
2011/02/20(日) 22:55:37.60ID:i278BMok
(´・ω・`)ご教示だろ
0596login:Penguin
垢版 |
2011/03/06(日) 02:46:29.22ID:fhS84NZT
スレ違いであれば申し訳ないございません。

LinuxでGTK+を使ってアプリを作成しています。

Windowsで言うグローバルホットキーを実装したくて色々調べたのですが該当するページが見つからず途方にくれています。

GTK+にはRegisterHotKey()に当たる関数はないのでしょうか?
また、Linuxでグローバルホットを実装する方法があればご提示お願い致します。
0597login:Penguin
垢版 |
2011/03/06(日) 04:33:17.56ID:tsVY1dm+
>>596
gtk hotkey でググったら、一発ですが探してないの?
0598596
垢版 |
2011/03/07(月) 03:13:28.76ID:PnCjIDjh
>>597
すいません、ググり方が少し違ったようで・・・
「Linux プログラミング ホットキー」などで探していました。
ご指摘頂いたワードで検索した結果なんとか行けそうです。
本当にありがとうございました。
0599login:Penguin
垢版 |
2011/03/08(火) 11:03:24.04ID:d1JzSVeD
検索って難しいよね。目的の情報に準じた予備知識があって
適切なキーワードを選択できてはじめて探し当てられる。
0600login:Penguin
垢版 |
2011/03/08(火) 12:59:49.88ID:a0IyugMv
>目的の情報に準じた予備知識があって

あるある。だいぶ知恵ついてくると簡単に検索できるようになるけど、初めての分野だと一向にヒットしない

よく初心者スレで「検索しても見つかりませんでした」「○○で検索すればすぐみつかるだろksg」
みたいなやりとり見るけど、正直初心者にはムリだよな…と思ったりもする。放置するけど

今度またググル先生がアルゴリズム変えるらしいけど、こういった点では改善がみられるかなあ…
0601login:Penguin
垢版 |
2011/03/08(火) 19:26:19.05ID:tKbotCXi
3.0.0になってLnFはなんか変わった?
右側に0ナンバーが多いものはなんか怖いから、まだ試してない。
0602login:Penguin
垢版 |
2011/03/13(日) 21:58:33.68ID:Vqq2M10I
valaつかっているひといますか?
0604login:Penguin
垢版 |
2011/03/17(木) 17:02:45.22ID:+oBUwr3N
質問です。pygtkを使っています。
gtk.TextViewの背景色を変更するにはどのようにすればよいでしょうか?
0605604
垢版 |
2011/03/18(金) 15:07:37.88ID:hYpmyKaN
自己解決しました。 modify_base(state, color)で変更できました。
0606login:Penguin
垢版 |
2011/04/29(金) 21:13:49.14ID:8r02bpAR
squeeze gtkmm 2.4 gtkglextmm 1.2 pthread でプログラムを作っているんだけどプログラムの終了
時に以下のエラーが出るようになってしまいました。同じようなエラーを経験した方は居ませんでしょ
うか?

glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed
glibmm-WARNING **: Failed to wrap object of type 'GdkScreenX11'. Hint: this error is commonly caused by failing to call a library init() function.
0607606
垢版 |
2011/04/30(土) 22:26:19.43ID:VyP2E163
自己解決しました。何でコンパイルが通るんだ・・・


Gtk::Main kit( argv, argc );
Gtk::GL::init( argv, argc );


Gtk::Main kit( argc, argv );
Gtk::GL::init( argc, argv );
0608login:Penguin
垢版 |
2011/05/02(月) 11:45:41.61ID:izX8cIkn
通らない理由がないからな
0609login:Penguin
垢版 |
2011/05/03(火) 00:46:43.55ID:WBrmWZ0j
>>607
試してみたら普通にコンパイルエラーになる。
それと関係無いけど、gtkmmは中々むずいよ…

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
m_act_quit->signal_activate().connect(mem_fun(*this, &AppWindow::on_quit_action_activated));
void AppWindow::on_quit_action_activated()
{
Gtk::Main::quit();
}

とあるコードの一片だけど、敷居が高いというかなんというか…
そんで今はValaを使ってる。Valaだと↓こんな感じ。

var quit_action = builder.get_object("action_quit") as Gtk.Action;
quit_action.activate.connect(() => { Gtk.main_quit(); });
0610login:Penguin
垢版 |
2011/05/03(火) 18:07:59.69ID:6MgTkiYn
>>609
コンパイルが通る方は適当に作った変数を食わしてたんだけど何故か逆にしてもコンパイルが通る
今は書き直して本物のargc,argvを入れています。

valaか〜・・・ドキュメント多い?
0611login:Penguin
垢版 |
2011/05/07(土) 08:45:48.59ID:dGkArH/V
Valaは日本語のまとまったドキュメントは皆無だね。
英語だったら本家サイトのドキュメントで困る事はないよ。
最終的にC言語にトランスレートされるんだけど、そのソースを見るのが中々楽しいw
0612login:Penguin
垢版 |
2011/05/11(水) 17:31:43.03ID:ZkP/smDq
gtkで音楽を鳴らすことは出来ますか?
どうすればいいでしょうか?
0614login:Penguin
垢版 |
2011/05/11(水) 21:50:59.78ID:TI/wHkRV
音楽の方はGTKとは関係ないんじゃないかね?
とりあえずALSA APIとか調べてみては?
0615login:Penguin
垢版 |
2011/05/14(土) 12:57:13.28ID:z2Mrc21j
すいません
windowsでgtk+の開発環境を整えたいのですが参考になるサイトありませんか?
0616login:Penguin
垢版 |
2011/05/14(土) 13:14:39.16ID:5Yfumgbf
板の名前を100回読読んで最後にサーをつけてみやがれ糞ども
0617login:Penguin
垢版 |
2011/05/14(土) 16:45:40.19ID:lAxQi/en
>>615
プログラム板にスレがあるよ
そっちで聞けば回答がもらえるかもしれない
こっちの質問は撤回して向こうへ行くといい
0619login:Penguin
垢版 |
2011/05/14(土) 19:17:02.73ID:z2Mrc21j
>>617
ありがとうございます
でも、やっぱりwindowsだと面倒くさそうなのでLinuxでやることにしました
そこでまた問題があるのですが
(PDF注意) http://www.iim.cs.tut.ac.jp/~sugaya/books/GUI-ApplicationProgramming/files/GTK-book-chapter2.pdf
ここに載っているサンプルプログラムをコンパイルしたら以下のエラーが出たのですがどうすればいいのでしょうか?

package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
image-viewer.c:1:21: fatal error: gtk/gtk.h: そのようなファイルやディレクトリはありません
compilation terminated.

環境はUbuntu11.04です

>>618
ありがとうございます
でも僕Python3をつかってるので・・・
0620login:Penguin
垢版 |
2011/05/14(土) 19:25:22.37ID:Obe5d9n3
>>619
どうすればいいのでしょうかって、どうすればいいのか自分で貼り付けてるじゃん。
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable

あと質問のつもりなら、どのソースをどんな方法でコンパイルしたかくらいは書くべき。
0621login:Penguin
垢版 |
2011/05/14(土) 20:04:20.32ID:z2Mrc21j
>>620
すいません。以後気をつけます
それとパスの通し方がわかりません・・・linuxはあまり触ったことがないので
0622login:Penguin
垢版 |
2011/05/14(土) 20:55:58.32ID:Jq7jXtDN
Linuxだと面倒臭くない、という理由だった人間がパスの通し方もわからんとか…
世の中なめてんのか?
0623login:Penguin
垢版 |
2011/05/14(土) 21:05:27.10ID:z2Mrc21j
すいません。日本語でおねがいします
0624login:Penguin
垢版 |
2011/05/14(土) 21:20:41.50ID:Jq7jXtDN
LinuxでGTK+プログラミングしようって人間が日本語でないとだめって…
世の中なんめてんのか?
0625login:Penguin
垢版 |
2011/05/14(土) 21:28:54.65ID:agWK3k8h
ごめん俺も英語ダメ
出来るだけ日本語の情報があるとうれしいw
0626login:Penguin
垢版 |
2011/05/14(土) 21:35:13.28ID:z2Mrc21j
>>624
親のすねかじってるお前よりマシだよハゲ
0627login:Penguin
垢版 |
2011/05/14(土) 21:45:25.94ID:Jq7jXtDN
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i     ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / Yahoo!翻訳したら
         /●) (●>   |: :__,=-、: / <   負けかなと思ってる
        l イ  '-     |:/ tbノノ    \
        l ,`-=-'\     `l ι';/       \ 英語がだめな24・男性
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / /
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|
0628login:Penguin
垢版 |
2011/05/14(土) 22:10:07.52ID:TqodLHpv
GTK以前にOSで躓いてるのか。
だったら分かってるだろうwinでやった方がいいんじゃないの?
winはもっと分からないっていうなら仕方ないけど。
0629login:Penguin
垢版 |
2011/05/14(土) 23:47:30.17ID:agWK3k8h
プログラミング系の英文を翻訳したらわけが分からなくなる
原文でわけが分からない方がましなくらいにね・・・

それとは別に ID:z2Mrc21j はもっと謙虚になるべき
下地が出来ていないし質問する場所が悪いし何を聞いたらいいか分かっていない気がする

何でパスを通したいのか分からないけど細かい質問はgoogle先生で検索してみるといいかも
0630login:Penguin
垢版 |
2011/05/14(土) 23:48:21.53ID:wLtMCrHN
>>621
パスの通し方はGTKと全く関係ないLinuxの基礎の基礎なので、スレ違いです。
0631login:Penguin
垢版 |
2011/05/15(日) 13:51:59.78ID:cCRv4Dbr
>>619
aptitude install libgtk2.0-dev
gcc `pkg-config --cflags gtk+-2.0 --libs gtk+-2.0` image-viewer.c
0632login:Penguin
垢版 |
2011/05/15(日) 20:44:42.05ID:CFcmlqIg
まあ、パスの通し方でからんでるアホも、
同レベルとみなした方が良さそうではあるがな
0633login:Penguin
垢版 |
2011/05/15(日) 20:59:22.40ID:WCLbHSMZ
それにしてもスレ違いの質問は認めちゃだめだろw
グダグダになるぞw
0634login:Penguin
垢版 |
2011/05/15(日) 21:13:58.77ID:CFcmlqIg
グダグダにするぞ!の間違いだろw
0635login:Penguin
垢版 |
2011/05/15(日) 21:17:53.35ID:UHIJLo/l
libgtk2.0-devをインストールしてなかったわ コンパイルできた
0637login:Penguin
垢版 |
2011/05/15(日) 23:53:02.86ID:IS7vzHtp
>>634
1. パスの通し方でからんでるアホ
2. スレ違いのグダグダにからんでるアホ
3. >>637 このレス

同レベル。
0638login:Penguin
垢版 |
2011/05/16(月) 06:50:27.01ID:HgEV0miS
Gentooを使うとみみっちい*-devパッケージなんかで
悩まされずにすむんだけどなあ
0639login:Penguin
垢版 |
2011/05/17(火) 07:03:27.38ID:17NbAwxj
HTML5バックエンドにはびびった。
これは、GTK+アプリがサーバーで動いていてクライアントでは<canvas>で
表示しているだけって事かな。
HTML5対応ツールキットとか沢山出てきそうだけど、やっぱりGTK+は最初から
完成度高いものが使えるから、かなりのアドバンテージになるはず。
インストールしなくてもWindows上でGTK+アプリが使える訳だから最高だな。
0640login:Penguin
垢版 |
2011/05/18(水) 01:14:48.22ID:zz1Ry4tA
既存のGTK+アプリケーションを応用したクラウドサービスの予感
0641login:Penguin
垢版 |
2011/05/24(火) 08:34:07.83ID:KqvnTjTM
GTK+2で、Cairoを用いて一回の描画に非常に時間がかかるもの(例えばマンデルブローとか)を描画して、
GTKのDrawingAreaに表示するにはどうしたらいいんでしょうか?
直接DrawingAreaのGdkwindowにExposeイベント毎に描画するようにすると当然破綻します。
GTK+2だとCairoのSurfaceに描画してそれをPixbufにするというのもできない感じなので困ってます。
0642login:Penguin
垢版 |
2011/05/24(火) 17:28:30.93ID:ob7Yh9v7
GdkPixmapに描画して、ウィンドウ再描画のときはそこから転送する。

むしろGTK+3でGdkPixmapがなくなって、オフスクリーンなpixmapを
どうやって持つのか知りたい。
オフスクリーンなGdkWindowというのがあるらしいから
それを作ってpixmapとして使えということなのだろうか。
0643641
垢版 |
2011/05/24(火) 17:47:47.35ID:SHDVYoHh
>>642
ありがとうございます。
使ってる言語のバインディングが+2用なので仕方なく+2を使ってますが、今から使うアプリに
GdkPixmapは使いたくないので、他に手段ないでしょうか?
+2でも、CairoのSurfaceをGdkWindowにコピー?できるのが理想なんですが。

ちなみに、+3では
http://developer.gnome.org/gtk3/stable/ch25s02.html#id1407324
によればCairoのSurface使えってことだと思います。
0644login:Penguin
垢版 |
2011/05/25(水) 22:49:33.40ID:ypXSp7WE
>>643
http://zetcode.com/tutorials/cairographicstutorial/cairoimages/
の「Blind down effect」でできるようですよ

簡単に要約すると
関数cairo_image_surface_createでオフスクリーンなsurfaceを作って、そこに落書きし、
eexposeイベント内で関数cairo_set_source_surfaceを呼び出して落書き結果をコピーするという方法だそうです
0645login:Penguin
垢版 |
2011/05/26(木) 01:09:20.52ID:/us7JkTi
GTK+3とかマジ迷惑なんですけど。
0646641
垢版 |
2011/05/28(土) 02:19:42.28ID:cDNuTVbD
>>644
ありがとうございます、それでやってみます。
0647login:Penguin
垢版 |
2011/05/29(日) 20:26:57.86ID:zJJLH/V3
GtkTableにアタッチしたウィジェットのパディングを変更したいんですが
gtk_table_attach()を変更の度に呼んでも問題ないですか?
それともパティングを手軽に変更できる手段って他にあるでしょうか。
0648login:Penguin
垢版 |
2011/05/31(火) 20:26:42.71ID:Bc3stUR8
>>647
GtkAlignmentでどうですか?
例えば、GtkButtonのパッディングを変更できるようにしたいなら、

button = gtk_button_new_with_label( "Button 2" );
align = gtk_alignment_new( 0, 0, 0, 0 );
gtk_container_add( GTK_CONTAINER( align ), button );
gtk_table_attach( GTK_TABLE( table ), align , 1, 2, 1, 2, GTK_SHRINK,
GTK_SHRINK, 0, 0 );
でButtonを登録し、

gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 5, 5, 10, 10 );

で調節します。
0650login:Penguin
垢版 |
2011/06/02(木) 12:20:53.31ID:9ZkW8466
>>648
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです
0652login:Penguin
垢版 |
2011/06/04(土) 06:32:58.20ID:DoiP0avE
スレッドA,BにおいてAからBを終了させるpthread_close()に相当する処理を行う方法がgtkには無い。
0653648
垢版 |
2011/06/04(土) 17:42:05.97ID:lYXnt5Pq
>>650
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。

ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません
0654login:Penguin
垢版 |
2011/06/05(日) 12:08:13.55ID:2//sPV3W
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも

ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください
0655648
垢版 |
2011/06/06(月) 22:48:57.79ID:Rnm0L+uO
>>654
>>childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
なるほど、そういうことなんですね。

ところで、解像度の変更イベント処理はGdkScreenのsize-changedイベントで処理できます
参考URLは
http://www.gtkforums.com/viewtopic.php?p=3643
です。

それとテーマの変更イベントですが、すみませんが僕にはわかりませんでした。
下記のURLによると、テーマ変更時に変化するオブジェクトのイベントを
すべて監視すればいいらしいのですが…
http://www.gtkforums.com/viewtopic.php?f=3&t=3829&p=10165&hilit=theme+change+event#p10165

0656login:Penguin
垢版 |
2011/06/06(月) 23:39:42.74ID:X0ciCI4s
>>655
ありがとうございます

テーマの方はこんな感じでできそうですね
ちょっと試してみます
https://garage.maemo.org/plugins/ggit/browse.php/?p=modest;a=commitdiff;h=5879161f031517a16b4c516e90700b647cb62b1e
+ g_signal_connect (G_OBJECT (instance), "notify::style", G_CALLBACK (on_notify_style), (gpointer) instance);
レスを投稿する


ニューススポーツなんでも実況