GTK+プログラミング at LINUX
[2ch|▼Menu]
[前50を表示]
500:login:Penguin
10/10/20 17:17:25 xVoAed/u.net
WindowsでもLnFはぼろぼろだよね。

501:login:Penguin
10/10/20 21:35:34 9tE6IJS+.net
osxのgtk+ってx window版とネイティブ版とあるんじゃなかったっけ?

502:login:Penguin
10/10/22 10:57:35 i0oNjkXQ.net
Windows7でも見た目が最悪になるからな。
MacOSXみたいに日本語入力ができないとか絶望的ってほどではないが。

503:login:Penguin
10/10/22 11:53:18 r2m3k6+H.net
Pythonバインドでも同じ問題って起こるの?

今日からPython勉強してGUIなアプリを作ってみようと思っていたのだが・・。
Qtのほうがいいのかな。でも、GNOME使ってるしGtkがいいんだよな

504:login:Penguin
10/10/22 22:39:01 T3dIa7zi.net
そんなあなたにPythonでもC++でもPerlでもokの

wxGlade
URLリンク(wxglade.sourceforge.net)

はどうかな?

505:login:Penguin
10/10/24 07:46:05 Vhl0qsDm.net
残念だが、日本語云々の話はWindows1.0のレベルにも達していないというのが現実。
開発体制の問題だろうね。

506:login:Penguin
10/10/24 22:57:17 uho4GCjV.net
酷いと思うけどさすがに1.0はないだろ
それに日本語(2バイト文字)関連はGtkよりQtのが酷いしマシな方

507:login:Penguin
10/10/26 18:03:28 XGIO2f11.net
GtkTreeView内のテキスト(gtk_cell_renderer_text_newで設定したもの)がカラムの幅を超えたら自動的に折り返して次の行に表示するようにできませんかね?
現状はカラムの幅を超えた部分は消えてしまいます。自分で改行を入れた場合は次の行に表示されるので折り返しも出来そうな気はするのですが。

508:login:Penguin
10/10/26 18:05:34 O6NRu0pw.net
URLリンク(library.gnome.org)

509:login:Penguin
10/10/26 18:32:48 XGIO2f11.net
>>508
ありがとうございます!

510:login:Penguin
10/11/02 19:29:02 0mcR1TdE.net
TreeView内にGtkCellRendererTextでテキストを表示する場合に、一部の文字だけ色を変えたり太字にしたりすることは可能でしょうか?
あるいはTreeViewにGtkEditableを格納するようなことができればそれでもよいのですが。

511:login:Penguin
10/11/02 19:41:27 RVdg5wgR.net
>>510
pango markupで対応するんじゃね?

512:login:Penguin
10/11/04 13:45:22 xBpDemuD.net
>>511
g_object_set (renderer, "markup","ab<b>cd</b>e", NULL);
とかでできました。ありがとう!

513:login:Penguin
10/11/07 14:39:48 qFCSAFkG.net
GtkTextIterのリファレンス読んでて、iterって単語がいっぱい出てくるけど
これって、日本語に訳すとどういう単語が適切なのかな?
iteratorで「反復子、繰り返しの概念」って出てきて、いまいち意味がつかめず
iterって出てくると、まったくもって意味がわからん。
ググっても、熱核融合炉とか出てくるし…

514:login:Penguin
10/11/07 14:43:10 Um+oFuZb.net
イテレータはイテレータだよ
ループの抽象化

515:login:Penguin
10/11/07 14:57:51 qFCSAFkG.net
>>514
iteratorとiterは、まったく同じと考えりゃいいということ?

516:login:Penguin
10/11/08 06:15:04 Wxghvts2.net
>>515
正確な話は分からないけど、Gtkで出てくる?Iterの類は"位置を指す物"と理解してる。
GtkTextIterでいうと、GtkTextBuffer中のどこかの位置を指す。
イテレータだと、意味するものが広くてピンとこない感じがする。
かといって、訳す場合に他にいい単語があるかは分からない。


517:login:Penguin
10/11/08 06:20:30 Wxghvts2.net
ごめん、文字化けした
"?Iter"は"なんとかIter"ってことね


518:login:Penguin
10/11/08 20:12:16 M/miEbwJ.net
>>516
ものすごく参考にさせていただく。ありがとう。

519:login:Penguin
10/11/09 00:55:32 Tw+0pcNe.net
C++のイテレータはポインタと同じ動作をするものと考えられている。
ポインタのようなものっていう概念が一番しっくり来る。

520:login:Penguin
10/11/13 16:17:20 Pqzt35wF.net
>>519
ものすごく返答が遅くなったけど、感謝します。

521:login:Penguin
10/11/22 02:59:05 PS3m5Gby.net
GTK+のリファレンスを見てると、ところどころに
"… is deprecated and should not be used in newly-written code."
ってのが、出てきます。
「推奨しないし、使うなよ」って意味だけど、どうすればいいの?
公開する予定の無いプログラムだから、無視して使ってるけど。

522:login:Penguin
10/11/22 03:05:51 9McU1lSw.net
他のやり方があるはず

523:login:Penguin
10/11/24 15:54:13 euuHJfN4.net
GtkTreeViewでアクティブなRowをハイライトして色を反転させる
機能を無効にすることはできますでしょうか?
自分の環境ですとアクティブなRowは青い背景に白い文字でハイライト
されてしまいます。
RowのSelected状態は変えることができるのですが、そちらはRowが
Select時に灰色っぽくなるだけで問題ないのです。ハイライトの機能
の方を無効したいです。


524:login:Penguin
10/11/29 21:54:46 sMx9z6BS.net
button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
と、ボタンにアイコンを付けようとしても、アイコンが出てきません。
上の場合、「キャンセル(_C)」というラベルだけ出ます。
メニューバーにアイコンを付けようとしても、アイコンが出ません。
何か欠けてるんでしょうか?

525:login:Penguin
10/11/29 22:14:12 lGrvc++f.net
gtk_button_set_image()の説明に"gtk-button-images"の設定によると書いてあるから調べてみて

526:login:Penguin
10/11/29 22:34:36 sMx9z6BS.net
>>525
ありがとう。今から調べます。

527:login:Penguin
10/11/29 22:58:14 sMx9z6BS.net
他に同じく悩む人がいるとは思えませんが、解決したのでご報告。
525さんにヒントいただいて、devhelp読んで、ググったら下のとこが出た。
URLリンク(ubuntuforums.org)
ここの逆をやって、アイコンが出ました。ありがとう。

528:login:Penguin
10/11/29 23:22:35 OgcvDSer.net
>>527
つーか、俺もこれずっと悩んでた。
原因が分かってスッとしたよ。ありがとう!

529:login:Penguin
10/11/30 12:55:40 M+63bYwL.net
>>527
ありがとう!!

530:login:Penguin
10/11/30 16:19:03 TQa7Ptpz.net
>>527
なんかよくわかんないけど、オレからもありがとう!

531:login:Penguin
10/11/30 21:51:44 o02+ms48.net
>>527
なんのことかわからんけど、俺からもありがとう!

532:login:Penguin
10/12/01 23:14:33 xPo+2HeT.net
MinGWでWindowsむけにGTK+アプリをクロスコンパイルしている人はいるのだろうか。
Windows上で環境構築せずにすむから楽そうなんだけれど。


533:login:Penguin
10/12/02 00:56:21 zqStIY3v.net
>>532
最近のFedoraはmingw関連のパッケージがたくさん追加されているから
Windows向けのクロスコンパイルは簡単だよ。

534:login:Penguin
10/12/02 08:40:09 TtpWl3rj.net
Fedoraかぁ…。
調べてがんばってみる。

535:login:Penguin
10/12/03 13:50:17 G8uZw67f.net
TreeViewでCellRendererTextで描画してるカラムについてなんですけど、CellRendererTextにwrap-widthを設定した場合、そのカラムをwrap-width以下にリサイズすることができなくなってしまいます。何か回避方法はありますか?

欲を言えばwarp-widthがカラムの幅に対して自動的に変わるようにしたいです。

536:login:Penguin
10/12/03 14:43:06 nwQzeTfG.net
なんかいまいちな気がするけど
URLリンク(www.islascruz.org)

537:login:Penguin
10/12/03 16:46:38 G8uZw67f.net
>>536
おお、pythonだけどCでも全然いけそうな対処ですね。
ありがとうございます!

538:login:Penguin
10/12/13 14:42:35 GOtpVrpZ.net
GtkTreeViewで質問です。
gtk_tree_view_set_grid_linesで水平のグリッドラインを表示した状態でcell-background-gdkを使ってセルの背景色を設定しているのですが、色をつけたセルだけグリッドラインが消えてしまいます。何か解決方法ってありますか?

539:login:Penguin
11/01/09 09:14:57 urRBMp8d.net
GTKを利用したプログラミングの勉強をしているのですが、不明な点があり質問させていただきます。

GTKにて作成したウインドウを常に最前面に表示しておきたいのですが、
それを実現するにはどのようにすればよいでしょうか?

ビュアーのようなものを作っているのですが、他の作業をしながらも確認したいため
他のウインドウより手前に表示しておくことが出来ればと考えております。

540:login:Penguin
11/01/09 09:42:27 geIJW/Gp.net
>>539
>GTKにて作成したウインドウを常に最前面に表示しておきたいのですが、

WM(ウィンドーマネージャ)側の設定で、できるんじゃないのかな。

541:login:Penguin
11/01/09 12:54:14 98wyOWKO.net
gtk_window_set_keep_aboveというのがあるが、うまくいくかはWMに依存する

542:login:Penguin
11/01/09 13:28:00 urRBMp8d.net
>>541
ありがとうございます。
うまく動きました。

543:login:Penguin
11/01/10 15:25:42 pdeWcU/o.net
おっさんにもわかるPYTHONの
”ウィンドウを表示するために--クラスを作成する” で

>> self.wTree.add_from_file(os.path.dirname(os.path.abspath(__file__))+"/"+self.gladefile)
のところで
glib.GError: root 要素が間違っています: 'glade-interface'

となり止まってしまいます。どなたか解決方法がわかる方お願いします

544:login:Penguin
11/01/10 16:41:54 lxMobblK.net
しらんが
os.path.join(os.path.dirname(__file__), self.gladefile)
とかな

545:543
11/01/10 17:33:42 pdeWcU/o.net
最初から作り直してわかったんですがgladeのほうの設定がおかしくなってたみたいでした
ご迷惑おかけしました



546:login:Penguin
11/01/11 21:47:15 vH5X5SgR.net
Gtkのアプリケーションを勉強しているのですがわからないことがあります。

TreeViewを利用して、計算結果が順次追加されていくアプリケーションを制作しているのですが、
計算結果が追加されていくに連れて結果を見るにはスクロールが必用になっております。
自動でスクロールを一番下に持って行くにはどのようにすればいいのでしょうか?

理想としては、スクロールが一番下にされていれば、リストが追加されるたびに常に一番下に
スクロールされ、スクロールが途中になっていれば項目が増えてもスクロールは維持。
というふうにしたいです。
ScrolledWindowのset_vadjustmentを利用すればいいことはわかったのですが、
うまく動かすことができません。


547:login:Penguin
11/01/11 23:29:55 5lRRaNMx.net
多分ちゃんとしたやり方ではないけれども URLリンク(ideone.com)

548:login:Penguin
11/01/12 00:28:52 vB7prOwP.net
便乗質問

gtk.TreeViewColumnで幅を指定しているときにその幅を超える文字列は折り返したいんだけど、オプションが見当たらない。
オプションってないの?

549:login:Penguin
11/01/12 00:47:08 5/uHApeb.net
gtk.CellRendererTextのwrap-width

550:548
11/01/12 18:24:47 vB7prOwP.net
>>549
ありがとう
CellRenderTextのほうで折り返しが設定出来たのか。
考えてみると、確かに折り返すのはTextだね。

関連でもうひとつ質問させてください
TreeViewColumnをset_resizable( True)にしているんだけど、カラムがリサイズされたときはどこのシグナルがでる?
自分なりに捜してみたのだけど、みつからない、。

551:login:Penguin
11/01/12 19:26:21 B0eGTMcl.net
GTKなんて時代遅れ

552:login:Penguin
11/01/12 21:39:01 DAHnc8sL.net
時代はQ'tだってか?www

553:548
11/01/12 21:41:05 vB7prOwP.net
上に同じ質問がありましたね。
検索に出て気づきました。

すみません。ありがとうございました。

554:login:Penguin
11/01/13 18:44:21 XeFPXStO.net
ねらのみなさんに質問させていただきます。

正確にはGTK#なんですがGTK+でもいいです。
ウィンドウを常に最背面に表示する方法はありますか?
検索するとこんなのが見つかったのですが、
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <X11/Xatom.h>
#define WIN_LAYER_DESKTOP 0
#define WIN_HINTS_SKIP_WINLIST (1<<1)
#define WIN_HINTS_SKIP_TASKBAR (1<<2)

#define XA_WIN_LAYER "_WIN_LAYER"
#define XA_WIN_HINTS "_WIN_HINTS"
ーーーーーーーーーーーーーーーーー

/* windowを一番下に置く */
data[0] = WIN_LAYER_DESKTOP;
gdk_property_change(GTK_WIDGET(window)->window,
gdk_atom_intern(XA_WIN_LAYER, False),
(GdkAtom) XA_CARDINAL, 32, PropModeReplace,
(unsigned char *) data, 1);

/* taskbarやwinlistにこのwindowを表示させないようにする */
data[0] = WIN_HINTS_SKIP_WINLIST | WIN_HINTS_SKIP_TASKBAR;
gdk_property_change(GTK_WIDGET(window)->window,
gdk_atom_intern(XA_WIN_HINTS, False),
(GdkAtom) XA_CARDINAL, 32, PropModeReplace,
(unsigned char *) data, 1); 

XA_CARDINALってなんでしょう?? 上記ソース by URLリンク(www.host.or.jp)

555:login:Penguin
11/01/13 20:04:15 yufk+Tn2.net
そのURLは叩きたくない

本家にいきましょう
GTK#本家
URLリンク(www.mono-project.com)

関連スレ
[Not Gtk+] Gtk#質問スレッド [mono]
スレリンク(linux板)

556:login:Penguin
11/01/13 20:14:13 Q+1lsYEj.net
>>554
荒らしてんじゃねーよカス

557:login:Penguin
11/01/13 20:18:51 XeFPXStO.net
>>556
煽り厨キター

558:login:Penguin
11/01/13 20:20:21 XeFPXStO.net
連投すいません。
本家のフォーラムで聞いてみようと思います。

559:login:Penguin
11/01/14 03:23:12 KnKuBbAY.net
初心的な質問でスミマセンが

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__":


560:login:Penguin
11/01/14 09:50:28 QJfXyK10.net
プログラム
URLリンク(hibari.2ch.net)

561:login:Penguin
11/01/15 22:11:43 KQmBhVmm.net
>>559
set_titleじゃ駄目?

562:login:Penguin
11/01/17 01:04:20 VJob0is5.net
ブラウザやエディタの上で、
マウスカーソルの下にあるテキストを取得する単純な
方法ってあるんでしょうか?ダブルクリックすると反転する単語
を取り込みたいのですが。出来ればトリプルクリックで反転する
一行も一緒に取り込みたいです。




563:login:Penguin
11/01/17 01:09:27 VJob0is5.net
すいません、アプリケーションによって
トリプルクリックでの反転の仕様は違うようですが、

マウス位置が所属するパラグラフ、単語、行を同時にとりこみたいのです。
言い忘れましたが想定する言語は英語などアルファベットのものです。

564:login:Penguin
11/01/19 01:15:17 AHjWAb2g.net
GTK+3.0のリリースが楽しみだなぁ
Windows版とかMac版の出来が気になる

565:login:Penguin
11/01/21 13:29:12 oTTqy+gy.net
>>561
遅れてすみません
self.mainWindow.set_title(str(self.number1))
に直すとウィンドウのタイトル欄の方に表示
おかげで一歩前進できたありがとうございました

566:login:Penguin
11/01/25 22:03:31 93ZVq4E+.net
家計簿のようなものを作りながらPyGTKの勉強をしております。
TreeViewを使ってリストを作成しているのですが、

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

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

どのようなコードで実現できるでしょうか?

567:login:Penguin
11/01/25 22:15:19 3NJ+mNNa.net
>>566
自分で調べる気はないのかね?
URLリンク(lmgtfy.com)

568:login:Penguin
11/01/25 23:38:42 93ZVq4E+.net
>>567
いろいろなワードで調べてみたのですが、見つけることができませんでした。
>>567の検索候補も見てみたのですが、TreeViewで右クリックした時の処理はあるのですが、
右クリックした行の値を取得する方法はありませんでした。

569:login:Penguin
11/01/25 23:55:07 p4XnSN29.net
>>568
テストしてないけど、gtk.TreeView.get_selection()で取れない?

570:login:Penguin
11/01/26 06:42:35 n1B9dBtN.net
VBoxにLabelやEntryをいくつか配置すると高さが全て均等になりますが、高さを設定するにはどうすればいいですか?

571:login:Penguin
11/01/26 08:43:37 LEML9YPE.net
ぴーな?

572:login:Penguin
11/01/26 09:51:05 z74Fwadf.net
GTK+を使ってシリアルポートで自作ハードウェアと通信することは出来ますか?

573:login:Penguin
11/01/26 11:33:09 h7bjSSMJ.net
>>572
自作ハードウェアが動くか知りませんが、「gtk シリアルポート」でググると
アホみたいに検索結果が出てきますが。
URLリンク(www.linuxquestions.org)
URLリンク(sourceforge.net)

574:570
11/01/27 04:23:46 HXLIqy/B.net
HBOXでは高さの指定ができないのですかね

575:login:Penguin
11/01/28 11:05:05 Gptdpqjn.net
すいません、教えてください。
ubuntuにて、pixmapにgdk_draw_stringで日本語を表示させたいのですが、文字化け
し、下記のメッセージが出ます。
does not support all the required character sets for the current locale "ja_JP.utf8"
どのようにしたら正常に表示できるようになるでしょうか。


576:login:Penguin
11/01/29 01:44:56 6hO1Bdmk.net
ロケールやフォントを変更したらどうだろうか?

577:login:Penguin
11/01/29 02:07:22 l0OT+bD3.net
gdk_draw_ナントカはdeprecated
cairo使ってね

578:login:Penguin
11/02/01 23:01:59 4jG8Kz/p.net
TreeViewの文字列にURLがあればハイパーリンクにしたいと思っているのですが、TreeViewの文字列を
ハイパーリンクにするにはどのようにすればいいのでしょうか?



579:login:Penguin
11/02/02 20:38:30 KRwtVrWu.net
>>578
g_spawn_command_line_sync()でgvfs-openコマンド呼べばいいんじゃね?
ダメならエラーが返るだろうし。
URLかどうか判断するなら、GRegex使うのが良いのかな?

580:login:Penguin
11/02/12 01:27:29 Tq5jzXI4.net
3.0 releaseしてたんだな

581:login:Penguin
11/02/13 02:06:32 Y2lUgTlR.net
結局、OpenGLは統合されなかったか…


582:login:Penguin
11/02/13 16:56:29 q0+Fj2Ij.net
以下のように画像を表示するだけのプログラムを作成しました。
この画像を表示したまま、プログラムを終了したいのですが、
そのようなことは可能でしょうか。
(他のプログラムに上書きされるまで、プログラム終了後も画像を表示しつづける。)

/* 画像表示領域の生成 */
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();


583:login:Penguin
11/02/13 17:17:13 CYJdXAks.net
ウィンドウの×ボタンを押したら隠れるのはすぐできるけど、何がしたいのかよくわからないので教えて

584:login:Penguin
11/02/13 17:45:42 q0+Fj2Ij.net
>>583
説明が少なくてすいません。

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

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

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

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

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

シェルスクリプトでやるのが最適かどうかわからないのですが・・・。

585:login:Penguin
11/02/13 17:56:06 XiVInOjw.net
で、教えたらお前の給料の何割くれるんだ?

586:login:Penguin
11/02/13 18:14:42 ibuao8Zp.net
プログラム起動→メッセージ表示→シェル実行→シェルの終了待ち→戻り値確認→終了処理
ではダメなん?

587:login:Penguin
11/02/13 18:30:28 YWgLFWCD.net
>>584
商売でオプソ使うのは止めたほうがいいよ
嫌味で言ってるんじゃなくて、法務的な問題が多すぎてメリット無いって
ソースコード開示しろって言われたとき、開示できる仕様なの?
客先とトラブルになっちゃうよ?
止めた方がいいと思うけど

588:583
11/02/13 20:56:45 L9k+0hAb.net
>>584
内容了解。俺だったらこんな感じに実装するけどこでどうかな?
どうしても一回プロセス自体終了する必要があるのであれば
もう少し手を入れないといけないと思う。

スクリプト内のhelloworld.pyは以下のもの
URLリンク(www.pygtk.org)

#!/bin/bash
${PWD}/helloworld.py &
GTKPID=$!
sleep 10
kill ${GTKPID}
exit


589:login:Penguin
11/02/13 23:32:30 q0+Fj2Ij.net
>>588
ありがとうございます。
なるほど、そのようなやり方があるのですね。

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

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

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

以上、ありがとうございました。

590:login:Penguin
11/02/15 00:33:40 yHAzvg6R.net
URLリンク(sourceforge.jp)
2年ぶりのメジャーリリース、「GTK+ 3.0」が登場
2年ぶりって…
訳も適当だし、なんか寂しいリリースだな

591:login:Penguin
11/02/19 17:26:47 7Kan848G.net
PyGTKを使っているのですが、TreeViewのデータを更新したいのですがどのようにすればわからず苦しんでおります。

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

どうかご教授頂ければと思います。

592:login:Penguin
11/02/20 22:47:31.70 9P4zTjVT.net
>>591
簡単に言うと、TreeStoreのIterを対象のところ(ID)まで移動して、
tree_store_set()を行う。
URLリンク(library.gnome.org)

593:login:Penguin
11/02/20 22:55:37.60 i278BMok.net
(´・ω・`)ご教示だろ

594:login:Penguin
11/02/20 22:59:25.78 AtCPi59r.net
女教授だって

595:login:Penguin
11/02/28 09:54:32.03 TADfIJ7a.net
スレリンク(unix板)

596:login:Penguin
11/03/06 02:46:29.22 fhS84NZT.net
スレ違いであれば申し訳ないございません。

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

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

GTK+にはRegisterHotKey()に当たる関数はないのでしょうか?
また、Linuxでグローバルホットを実装する方法があればご提示お願い致します。

597:login:Penguin
11/03/06 04:33:17.56 tsVY1dm+.net
>>596
gtk hotkey でググったら、一発ですが探してないの?

598:596
11/03/07 03:13:28.76 PnCjIDjh.net
>>597
すいません、ググり方が少し違ったようで・・・
「Linux プログラミング ホットキー」などで探していました。
ご指摘頂いたワードで検索した結果なんとか行けそうです。
本当にありがとうございました。


599:login:Penguin
11/03/08 11:03:24.04 d1JzSVeD.net
検索って難しいよね。目的の情報に準じた予備知識があって
適切なキーワードを選択できてはじめて探し当てられる。


600:login:Penguin
11/03/08 12:59:49.88 a0IyugMv.net
>目的の情報に準じた予備知識があって

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

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

今度またググル先生がアルゴリズム変えるらしいけど、こういった点では改善がみられるかなあ…

601:login:Penguin
11/03/08 19:26:19.05 tKbotCXi.net
3.0.0になってLnFはなんか変わった?
右側に0ナンバーが多いものはなんか怖いから、まだ試してない。

602:login:Penguin
11/03/13 21:58:33.68 Vqq2M10I.net
valaつかっているひといますか?


603:login:Penguin
11/03/13 23:48:32.57 u6WvClB5.net
>>602
スレリンク(linux板)

604:login:Penguin
11/03/17 17:02:45.22 +oBUwr3N.net
質問です。pygtkを使っています。
gtk.TextViewの背景色を変更するにはどのようにすればよいでしょうか?

605:604
11/03/18 15:07:37.88 hYpmyKaN.net
自己解決しました。 modify_base(state, color)で変更できました。

606:login:Penguin
11/04/29 21:13:49.14 8r02bpAR.net
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.


607:606
11/04/30 22:26:19.43 VyP2E163.net
自己解決しました。何でコンパイルが通るんだ・・・


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


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


608:login:Penguin
11/05/02 11:45:41.61 izX8cIkn.net
通らない理由がないからな

609:login:Penguin
11/05/03 00:46:43.55 WBrmWZ0j.net
>>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(); });


610:login:Penguin
11/05/03 18:07:59.69 6MgTkiYn.net
>>609
コンパイルが通る方は適当に作った変数を食わしてたんだけど何故か逆にしてもコンパイルが通る
今は書き直して本物のargc,argvを入れています。

valaか〜・・・ドキュメント多い?

611:login:Penguin
11/05/07 08:45:48.59 dGkArH/V.net
Valaは日本語のまとまったドキュメントは皆無だね。
英語だったら本家サイトのドキュメントで困る事はないよ。
最終的にC言語にトランスレートされるんだけど、そのソースを見るのが中々楽しいw


612:login:Penguin
11/05/11 17:31:43.03 ZkP/smDq.net
gtkで音楽を鳴らすことは出来ますか?
どうすればいいでしょうか?

613:login:Penguin
11/05/11 21:14:23.65 lC/0GEj9.net
できません

614:login:Penguin
11/05/11 21:50:59.78 TI/wHkRV.net
音楽の方はGTKとは関係ないんじゃないかね?
とりあえずALSA APIとか調べてみては?

615:login:Penguin
11/05/14 12:57:13.28 z2Mrc21j.net
すいません
windowsでgtk+の開発環境を整えたいのですが参考になるサイトありませんか?

616:login:Penguin
11/05/14 13:14:39.16 5Yfumgbf.net
板の名前を100回読読んで最後にサーをつけてみやがれ糞ども

617:login:Penguin
11/05/14 16:45:40.19 lAxQi/en.net
>>615
プログラム板にスレがあるよ
そっちで聞けば回答がもらえるかもしれない
こっちの質問は撤回して向こうへ行くといい

618:login:Penguin
11/05/14 18:54:06.07 ndPfVk8h.net
>>615
URLリンク(masaya.w32.jp)
URLリンク(masaya.w32.jp)
URLリンク(masaya.w32.jp)
URLリンク(masaya.w32.jp)

619:login:Penguin
11/05/14 19:17:02.73 z2Mrc21j.net
>>617
ありがとうございます
でも、やっぱりwindowsだと面倒くさそうなのでLinuxでやることにしました
そこでまた問題があるのですが
(PDF注意) URLリンク(www.iim.cs.tut.ac.jp)
ここに載っているサンプルプログラムをコンパイルしたら以下のエラーが出たのですがどうすればいいのでしょうか?

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をつかってるので・・・

620:login:Penguin
11/05/14 19:25:22.37 Obe5d9n3.net
>>619
どうすればいいのでしょうかって、どうすればいいのか自分で貼り付けてるじゃん。
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable

あと質問のつもりなら、どのソースをどんな方法でコンパイルしたかくらいは書くべき。

621:login:Penguin
11/05/14 20:04:20.32 z2Mrc21j.net
>>620
すいません。以後気をつけます
それとパスの通し方がわかりません・・・linuxはあまり触ったことがないので

622:login:Penguin
11/05/14 20:55:58.32 Jq7jXtDN.net
Linuxだと面倒臭くない、という理由だった人間がパスの通し方もわからんとか…
世の中なめてんのか?

623:login:Penguin
11/05/14 21:05:27.10 z2Mrc21j.net
すいません。日本語でおねがいします

624:login:Penguin
11/05/14 21:20:41.50 Jq7jXtDN.net
LinuxでGTK+プログラミングしようって人間が日本語でないとだめって…
世の中なんめてんのか?

625:login:Penguin
11/05/14 21:28:54.65 agWK3k8h.net
ごめん俺も英語ダメ
出来るだけ日本語の情報があるとうれしいw

626:login:Penguin
11/05/14 21:35:13.28 z2Mrc21j.net
>>624
親のすねかじってるお前よりマシだよハゲ

627:login:Penguin
11/05/14 21:45:25.94 Jq7jXtDN.net
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i     ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / Yahoo!翻訳したら
         /●) (●>   |: :__,=-、: / <   負けかなと思ってる
        l イ  '-     |:/ tbノノ    \
        l ,`-=-'\     `l ι';/       \ 英語がだめな24・男性
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / /
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `─''''   :::|

628:login:Penguin
11/05/14 22:10:07.52 TqodLHpv.net
GTK以前にOSで躓いてるのか。
だったら分かってるだろうwinでやった方がいいんじゃないの?
winはもっと分からないっていうなら仕方ないけど。

629:login:Penguin
11/05/14 23:47:30.17 agWK3k8h.net
プログラミング系の英文を翻訳したらわけが分からなくなる
原文でわけが分からない方がましなくらいにね・・・

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

何でパスを通したいのか分からないけど細かい質問はgoogle先生で検索してみるといいかも

630:login:Penguin
11/05/14 23:48:21.53 wLtMCrHN.net
>>621
パスの通し方はGTKと全く関係ないLinuxの基礎の基礎なので、スレ違いです。

631:login:Penguin
11/05/15 13:51:59.78 cCRv4Dbr.net
>>619
aptitude install libgtk2.0-dev
gcc `pkg-config --cflags gtk+-2.0 --libs gtk+-2.0` image-viewer.c

632:login:Penguin
11/05/15 20:44:42.05 CFcmlqIg.net
まあ、パスの通し方でからんでるアホも、
同レベルとみなした方が良さそうではあるがな

633:login:Penguin
11/05/15 20:59:22.40 WCLbHSMZ.net
それにしてもスレ違いの質問は認めちゃだめだろw
グダグダになるぞw

634:login:Penguin
11/05/15 21:13:58.77 CFcmlqIg.net
グダグダにするぞ!の間違いだろw

635:login:Penguin
11/05/15 21:17:53.35 UHIJLo/l.net
libgtk2.0-devをインストールしてなかったわ コンパイルできた

636:login:Penguin
11/05/15 21:22:41.40 3m8/J1/j.net
>>635
怒るでしかしwwww

637:login:Penguin
11/05/15 23:53:02.86 IS7vzHtp.net
>>634
1. パスの通し方でからんでるアホ
2. スレ違いのグダグダにからんでるアホ
3. >>637 このレス

同レベル。

638:login:Penguin
11/05/16 06:50:27.01 HgEV0miS.net
Gentooを使うとみみっちい*-devパッケージなんかで
悩まされずにすむんだけどなあ

639:login:Penguin
11/05/17 07:03:27.38 17NbAwxj.net
HTML5バックエンドにはびびった。
これは、GTK+アプリがサーバーで動いていてクライアントでは<canvas>で
表示しているだけって事かな。
HTML5対応ツールキットとか沢山出てきそうだけど、やっぱりGTK+は最初から
完成度高いものが使えるから、かなりのアドバンテージになるはず。
インストールしなくてもWindows上でGTK+アプリが使える訳だから最高だな。

640:login:Penguin
11/05/18 01:14:48.22 zz1Ry4tA.net
既存のGTK+アプリケーションを応用したクラウドサービスの予感

641:login:Penguin
11/05/24 08:34:07.83 KqvnTjTM.net
GTK+2で、Cairoを用いて一回の描画に非常に時間がかかるもの(例えばマンデルブローとか)を描画して、
GTKのDrawingAreaに表示するにはどうしたらいいんでしょうか?
直接DrawingAreaのGdkwindowにExposeイベント毎に描画するようにすると当然破綻します。
GTK+2だとCairoのSurfaceに描画してそれをPixbufにするというのもできない感じなので困ってます。


642:login:Penguin
11/05/24 17:28:30.93 ob7Yh9v7.net
GdkPixmapに描画して、ウィンドウ再描画のときはそこから転送する。

むしろGTK+3でGdkPixmapがなくなって、オフスクリーンなpixmapを
どうやって持つのか知りたい。
オフスクリーンなGdkWindowというのがあるらしいから
それを作ってpixmapとして使えということなのだろうか。

643:641
11/05/24 17:47:47.35 SHDVYoHh.net
>>642
ありがとうございます。
使ってる言語のバインディングが+2用なので仕方なく+2を使ってますが、今から使うアプリに
GdkPixmapは使いたくないので、他に手段ないでしょうか?
+2でも、CairoのSurfaceをGdkWindowにコピー?できるのが理想なんですが。

ちなみに、+3では
URLリンク(developer.gnome.org)
によればCairoのSurface使えってことだと思います。

644:login:Penguin
11/05/25 22:49:33.40 ypXSp7WE.net
>>643
URLリンク(zetcode.com)
の「Blind down effect」でできるようですよ

簡単に要約すると
関数cairo_image_surface_createでオフスクリーンなsurfaceを作って、そこに落書きし、
eexposeイベント内で関数cairo_set_source_surfaceを呼び出して落書き結果をコピーするという方法だそうです

645:login:Penguin
11/05/26 01:09:20.52 /us7JkTi.net
GTK+3とかマジ迷惑なんですけど。


646:641
11/05/28 02:19:42.28 cDNuTVbD.net
>>644
ありがとうございます、それでやってみます。

647:login:Penguin
11/05/29 20:26:57.86 zJJLH/V3.net
GtkTableにアタッチしたウィジェットのパディングを変更したいんですが
gtk_table_attach()を変更の度に呼んでも問題ないですか?
それともパティングを手軽に変更できる手段って他にあるでしょうか。

648:login:Penguin
11/05/31 20:26:42.71 Bc3stUR8.net
>>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 );

で調節します。

649:648
11/05/31 20:30:44.34 Bc3stUR8.net
>>648の追記です。
参考にしたURLは
URLリンク(www.gtkforums.com)
です。

650:login:Penguin
11/06/02 12:20:53.31 9ZkW8466.net
>>648
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです

651:login:Penguin
11/06/03 01:41:05.64 UsW+bpf/.net
スレリンク(tech板)

652:login:Penguin
11/06/04 06:32:58.20 DoiP0avE.net
スレッドA,BにおいてAからBを終了させるpthread_close()に相当する処理を行う方法がgtkには無い。

653:648
11/06/04 17:42:05.97 lYXnt5Pq.net
>>650
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。

ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません


654:login:Penguin
11/06/05 12:08:13.55 2//sPV3W.net
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも

ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください

655:648
11/06/06 22:48:57.79 Rnm0L+uO.net
>>654
>>childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
なるほど、そういうことなんですね。

ところで、解像度の変更イベント処理はGdkScreenのsize-changedイベントで処理できます
参考URLは
URLリンク(www.gtkforums.com)
です。

それとテーマの変更イベントですが、すみませんが僕にはわかりませんでした。
下記のURLによると、テーマ変更時に変化するオブジェクトのイベントを
すべて監視すればいいらしいのですが…
URLリンク(www.gtkforums.com)



656:login:Penguin
11/06/06 23:39:42.74 X0ciCI4s.net
>>655
ありがとうございます

テーマの方はこんな感じでできそうですね
ちょっと試してみます
URLリンク(garage.maemo.org)
+ g_signal_connect (G_OBJECT (instance), "notify::style", G_CALLBACK (on_notify_style), (gpointer) instance);

657:login:Penguin
11/06/09 00:26:33.80 z+T6y5Hb.net
UbuntuLinuxを使っていると、
ラブハンドルになるスクロールバーとならないスクロールバーがあるんだけど違いはなんなの?

658:login:Penguin
11/06/10 23:26:43.28 PqNxIzez.net
>>656
私のほうでも試して見ましたが、
それでテーマ変更イベントの検出はできるようですね。
しかし、notify::styleイベントがgtkリファレンスに見つからないw
何のイベントなんだろう?

>>657
ラブハンドルになるアプリ名とならないアプリ名を書けば、
誰かが調べてくれるかも?


659: 忍法帖【Lv=5,xxxP】
11/06/12 17:23:21.85 JGUSf8uW.net
俺のためのスレはココですか?

660:login:Penguin
11/06/12 17:46:23.37 Nl9cfmmH.net
>>659
いいえ、違います。

661:login:Penguin
11/06/22 01:11:00.53 c+3U0RiB.net
debhelpを日本語化するプロジェクトはもう立ち上がっているのでしょうか?

662:login:Penguin
11/06/22 01:11:44.45 c+3U0RiB.net
devhelpです

663:login:Penguin
11/06/28 00:26:26.50 eerWK6Uv.net
URLリンク(mugtug.com)
↑これ有名なHTML5のデモだけど、
URLリンク(blogs.gnome.org)
GTK+3.2がリリースされれば、↑こんな感じに同じ事が出来るようにのか?
wktkが止まらない!


664:login:Penguin
11/07/01 01:05:56.23 GKt7GreK.net
cairoは死んでしまったのか…
Firefoxに見捨てられ更新もほとんど無い


665:login:Penguin
11/07/01 01:22:39.19 qaXNzYOT.net
>>664
gitのログ見たけど更新しまくってね?リリース見ても5月中にも
pycairoとかcairommとかバインディング関係が更新あるしcairo自体は既に成熟期だろ
それとIDが惜しい

666:login:Penguin
11/07/03 08:27:55.42 xZFICtED.net
URLリンク(lists.cairographics.org)
↑ここ見て少なく感じた。半分近くはコードでないコミットだし。


667:login:Penguin
11/08/01 00:38:35.73 rgARQ4qL.net
GtkDrawingArea を自分で XCreateWindow して作りたい時ってどうすればいいか教えてください。


668:login:Penguin
11/08/02 00:30:46.57 px2Xwp7s.net
自己解決した。
Gdk.X11Screen.lookup_visual () とか使えば、自分で XCreateWindow () する必要とかなかった。

669:login:Penguin
11/08/22 09:44:31.31 56fggY27.net
GtkEntryCompletion のポップアップの最大高さ?を設定する方法おしえてくだしあ
URLリンク(up3.viploader.net)
デフォだと↑みたいに画面の高さいっぱい一杯までスクロールバーがついたポップアップが表示されてしまいます

670:login:Penguin
11/08/22 12:32:55.24 GUjzssRW.net
そんなAPIは無いように見えるから
どうしても欲しければ自力でGtkEntryCompletion相当のコードを書くことになるのかなぁ

671:login:Penguin
11/08/23 10:55:05.34 fF4RpR06.net
>>670ありがとうございます。
_GtkEntryCompletionPrivate構造体の定義がわからないので諦めました


672:login:Penguin
11/08/24 18:38:06.52 CLJ7sudj.net
g_signal_connectでコールバック関数に渡せるデータって一つしかないですよね
でもどうしても複数のデータを渡したい時ってどうするんですか?

例えば,main関数内でエントリーが3つとボタンがあって,
ボタンを押したら3つのエントリーに入力されている文字列をg_printで出力する場合とか

初歩的な質問かもしれないけど,お願いします


673:login:Penguin
11/08/24 18:57:38.20 tAkTiKbP.net
>>672
構造体とか使って渡したいデータを1変数にまとめて、
コールバック関数にはその構造体のポインタ渡すのはどうかな
URLリンク(pastebin.com)

674:login:Penguin
11/08/24 19:04:11.50 CLJ7sudj.net
>>673
ありがとうございます

やっぱりそれしか無いですか...
なんで可変じゃなくてわざわざ一個だけなんだろうなあ

675:login:Penguin
11/08/24 19:10:25.09 tAkTiKbP.net
自分でラッパー書いて、可変引数版のg_signal_connectを自由につくってもいいのよ〜

一般的に複数引数渡すよりポインタ1個渡す方が効率的、と考えられてるんじゃないかな
普通は渡したいデータの型も文字列だけじゃないだろうし、Cだと型が予測できない可変引数を処理するのは面倒だと思う

676:login:Penguin
11/08/24 19:20:10.95 CLJ7sudj.net
>>675
調べてみると可変引数って色々問題あるんですね,知りませんでした
ラッパーって言葉も今知りました

勉強になります

677:login:Penguin
11/08/24 19:40:28.68 fAbet21j.net
>>672
・そのEntry3つをGHashTable につっこんどいて それをコールバックの引数にする
・そもそもGtkBuilderオブジェクトでつくったUIなら それをcbの引数にする
 GTK_ENTRY (gtk_builder_get_object (builder, "ボタンの変数名")) で取れる
・前もってそれぞれのEntryにgtk_widget_set_name(entry,"しきべつめい")しといて
 gtk_container_get_children (GTK_CONTAINER (window)) で取れる GList をcbの引数にする
 cb関数側でg_list_nth_data つかって先頭からアクセス、gtk_widget_get_name(entry)でとれる名前を確認しながら扱う

三通り思いつきました、どうでしょうか?

678:login:Penguin
11/08/25 00:14:37.53 IvAnECIo.net
2.0用コードを3.0でコンパイルしたら、gdk_pixuf_render_to_drawable()で問題発生しました。

main(){
gtk_init(NULL,NULL);

GdkPixbuf* pixbuf;
GtkWidget* image;

gdk_pixbuf_render_to_drawable(
pixbuf,
image->window,
image->style->fg_gc[GTK_STATE_NORMAL],
0, 0, 0, 0,
100,
200,
GDK_RGB_DITHER_NONE, 0, 0
);
}

gtk+-3,0でコンパイルすると、image->window, image->style, GDK_RGB_DITHER_NONE、の3箇所がエラーになってしまいます。
だれか解決してください。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

576日前に更新/274 KB
担当:undef