GTKを利用したプログラミングの勉強をしているのですが、不明な点があり質問させていただきます。
GTKにて作成したウインドウを常に最前面に表示しておきたいのですが、
それを実現するにはどのようにすればよいでしょうか?
ビュアーのようなものを作っているのですが、他の作業をしながらも確認したいため
他のウインドウより手前に表示しておくことが出来ればと考えております。
探検
GTK+プログラミング
レス数が950を超えています。1000を超えると書き込みができなくなります。
539login:Penguin
2011/01/09(日) 09:14:57ID:urRBMp8d2011/01/09(日) 09:42:27ID:geIJW/Gp
2011/01/09(日) 12:54:14ID:98wyOWKO
gtk_window_set_keep_aboveというのがあるが、うまくいくかはWMに依存する
2011/01/09(日) 13:28:00ID:urRBMp8d
2011/01/10(月) 15:25:42ID:pdeWcU/o
おっさんにもわかるPYTHONの
”ウィンドウを表示するために--クラスを作成する” で
>> self.wTree.add_from_file(os.path.dirname(os.path.abspath(__file__))+"/"+self.gladefile)
のところで
glib.GError: root 要素が間違っています: 'glade-interface'
となり止まってしまいます。どなたか解決方法がわかる方お願いします
”ウィンドウを表示するために--クラスを作成する” で
>> self.wTree.add_from_file(os.path.dirname(os.path.abspath(__file__))+"/"+self.gladefile)
のところで
glib.GError: root 要素が間違っています: 'glade-interface'
となり止まってしまいます。どなたか解決方法がわかる方お願いします
2011/01/10(月) 16:41:54ID:lxMobblK
しらんが
os.path.join(os.path.dirname(__file__), self.gladefile)
とかな
os.path.join(os.path.dirname(__file__), self.gladefile)
とかな
545543
2011/01/10(月) 17:33:42ID:pdeWcU/o 最初から作り直してわかったんですがgladeのほうの設定がおかしくなってたみたいでした
ご迷惑おかけしました
ご迷惑おかけしました
546login:Penguin
2011/01/11(火) 21:47:15ID:vH5X5SgR Gtkのアプリケーションを勉強しているのですがわからないことがあります。
TreeViewを利用して、計算結果が順次追加されていくアプリケーションを制作しているのですが、
計算結果が追加されていくに連れて結果を見るにはスクロールが必用になっております。
自動でスクロールを一番下に持って行くにはどのようにすればいいのでしょうか?
理想としては、スクロールが一番下にされていれば、リストが追加されるたびに常に一番下に
スクロールされ、スクロールが途中になっていれば項目が増えてもスクロールは維持。
というふうにしたいです。
ScrolledWindowのset_vadjustmentを利用すればいいことはわかったのですが、
うまく動かすことができません。
TreeViewを利用して、計算結果が順次追加されていくアプリケーションを制作しているのですが、
計算結果が追加されていくに連れて結果を見るにはスクロールが必用になっております。
自動でスクロールを一番下に持って行くにはどのようにすればいいのでしょうか?
理想としては、スクロールが一番下にされていれば、リストが追加されるたびに常に一番下に
スクロールされ、スクロールが途中になっていれば項目が増えてもスクロールは維持。
というふうにしたいです。
ScrolledWindowのset_vadjustmentを利用すればいいことはわかったのですが、
うまく動かすことができません。
2011/01/11(火) 23:29:55ID:5lRRaNMx
多分ちゃんとしたやり方ではないけれども http://ideone.com/5B9PD
2011/01/12(水) 00:28:52ID:vB7prOwP
便乗質問
gtk.TreeViewColumnで幅を指定しているときにその幅を超える文字列は折り返したいんだけど、オプションが見当たらない。
オプションってないの?
gtk.TreeViewColumnで幅を指定しているときにその幅を超える文字列は折り返したいんだけど、オプションが見当たらない。
オプションってないの?
2011/01/12(水) 00:47:08ID:5/uHApeb
gtk.CellRendererTextのwrap-width
550548
2011/01/12(水) 18:24:47ID:vB7prOwP >>549
ありがとう
CellRenderTextのほうで折り返しが設定出来たのか。
考えてみると、確かに折り返すのはTextだね。
関連でもうひとつ質問させてください
TreeViewColumnをset_resizable( True)にしているんだけど、カラムがリサイズされたときはどこのシグナルがでる?
自分なりに捜してみたのだけど、みつからない、。
ありがとう
CellRenderTextのほうで折り返しが設定出来たのか。
考えてみると、確かに折り返すのはTextだね。
関連でもうひとつ質問させてください
TreeViewColumnをset_resizable( True)にしているんだけど、カラムがリサイズされたときはどこのシグナルがでる?
自分なりに捜してみたのだけど、みつからない、。
2011/01/12(水) 19:26:21ID:B0eGTMcl
GTKなんて時代遅れ
2011/01/12(水) 21:39:01ID:DAHnc8sL
時代はQ'tだってか?www
553548
2011/01/12(水) 21:41:05ID:vB7prOwP 上に同じ質問がありましたね。
検索に出て気づきました。
すみません。ありがとうございました。
検索に出て気づきました。
すみません。ありがとうございました。
2011/01/13(木) 18:44:21ID:XeFPXStO
ねらのみなさんに質問させていただきます。
正確には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 http://www.host.or.jp/cgi-win/webboard/wb_cont.exe?programing+g+10016+NAME
正確には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 http://www.host.or.jp/cgi-win/webboard/wb_cont.exe?programing+g+10016+NAME
2011/01/13(木) 20:04:15ID:yufk+Tn2
そのURLは叩きたくない
本家にいきましょう
GTK#本家
http://www.mono-project.com/GtkSharp
関連スレ
[Not Gtk+] Gtk#質問スレッド [mono]
http://hibari.2ch.net/test/read.cgi/linux/1294642865/
本家にいきましょう
GTK#本家
http://www.mono-project.com/GtkSharp
関連スレ
[Not Gtk+] Gtk#質問スレッド [mono]
http://hibari.2ch.net/test/read.cgi/linux/1294642865/
2011/01/13(木) 20:14:13ID:Q+1lsYEj
>>554
荒らしてんじゃねーよカス
荒らしてんじゃねーよカス
2011/01/13(木) 20:18:51ID:XeFPXStO
>>556
煽り厨キター
煽り厨キター
2011/01/13(木) 20:20:21ID:XeFPXStO
連投すいません。
本家のフォーラムで聞いてみようと思います。
本家のフォーラムで聞いてみようと思います。
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__":
略
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__":
略
2011/01/14(金) 09:50:28ID:QJfXyK10
2011/01/15(土) 22:11:43ID:KQmBhVmm
>>559
set_titleじゃ駄目?
set_titleじゃ駄目?
2011/01/17(月) 01:04:20ID:VJob0is5
ブラウザやエディタの上で、
マウスカーソルの下にあるテキストを取得する単純な
方法ってあるんでしょうか?ダブルクリックすると反転する単語
を取り込みたいのですが。出来ればトリプルクリックで反転する
一行も一緒に取り込みたいです。
マウスカーソルの下にあるテキストを取得する単純な
方法ってあるんでしょうか?ダブルクリックすると反転する単語
を取り込みたいのですが。出来ればトリプルクリックで反転する
一行も一緒に取り込みたいです。
2011/01/17(月) 01:09:27ID:VJob0is5
すいません、アプリケーションによって
トリプルクリックでの反転の仕様は違うようですが、
マウス位置が所属するパラグラフ、単語、行を同時にとりこみたいのです。
言い忘れましたが想定する言語は英語などアルファベットのものです。
トリプルクリックでの反転の仕様は違うようですが、
マウス位置が所属するパラグラフ、単語、行を同時にとりこみたいのです。
言い忘れましたが想定する言語は英語などアルファベットのものです。
2011/01/19(水) 01:15:17ID:AHjWAb2g
GTK+3.0のリリースが楽しみだなぁ
Windows版とかMac版の出来が気になる
Windows版とかMac版の出来が気になる
2011/01/21(金) 13:29:12ID:oTTqy+gy
>>561
遅れてすみません
self.mainWindow.set_title(str(self.number1))
に直すとウィンドウのタイトル欄の方に表示
おかげで一歩前進できたありがとうございました
遅れてすみません
self.mainWindow.set_title(str(self.number1))
に直すとウィンドウのタイトル欄の方に表示
おかげで一歩前進できたありがとうございました
566login:Penguin
2011/01/25(火) 22:03:31ID:93ZVq4E+ 家計簿のようなものを作りながらPyGTKの勉強をしております。
TreeViewを使ってリストを作成しているのですが、
ID 値段 名前 メモ
1 100 コーラ 自販機
2 200 カルピス 自販機
のようなリストがあるとして、リスト中を右クリックすると編集メニューを出すようにしたいのですが、
右クリックした際にメニューを出す方法や、右クリックした列の値の取得方法がわからず悩んでおります。
どのようなコードで実現できるでしょうか?
TreeViewを使ってリストを作成しているのですが、
ID 値段 名前 メモ
1 100 コーラ 自販機
2 200 カルピス 自販機
のようなリストがあるとして、リスト中を右クリックすると編集メニューを出すようにしたいのですが、
右クリックした際にメニューを出す方法や、右クリックした列の値の取得方法がわからず悩んでおります。
どのようなコードで実現できるでしょうか?
2011/01/25(火) 22:15:19ID:3NJ+mNNa
2011/01/25(火) 23:38:42ID:93ZVq4E+
2011/01/25(火) 23:55:07ID:p4XnSN29
>>568
テストしてないけど、gtk.TreeView.get_selection()で取れない?
テストしてないけど、gtk.TreeView.get_selection()で取れない?
2011/01/26(水) 06:42:35ID:n1B9dBtN
VBoxにLabelやEntryをいくつか配置すると高さが全て均等になりますが、高さを設定するにはどうすればいいですか?
2011/01/26(水) 08:43:37ID:LEML9YPE
ぴーな?
2011/01/26(水) 09:51:05ID:z74Fwadf
GTK+を使ってシリアルポートで自作ハードウェアと通信することは出来ますか?
2011/01/26(水) 11:33:09ID:h7bjSSMJ
>>572
自作ハードウェアが動くか知りませんが、「gtk シリアルポート」でググると
アホみたいに検索結果が出てきますが。
http://www.linuxquestions.org/questions/programming-9/gtk-serial-port-communication-313238/
http://sourceforge.net/projects/gcomm/
自作ハードウェアが動くか知りませんが、「gtk シリアルポート」でググると
アホみたいに検索結果が出てきますが。
http://www.linuxquestions.org/questions/programming-9/gtk-serial-port-communication-313238/
http://sourceforge.net/projects/gcomm/
574570
2011/01/27(木) 04:23:46ID:HXLIqy/B HBOXでは高さの指定ができないのですかね
575login: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"
どのようにしたら正常に表示できるようになるでしょうか。
ubuntuにて、pixmapにgdk_draw_stringで日本語を表示させたいのですが、文字化け
し、下記のメッセージが出ます。
does not support all the required character sets for the current locale "ja_JP.utf8"
どのようにしたら正常に表示できるようになるでしょうか。
2011/01/29(土) 01:44:56ID:6hO1Bdmk
ロケールやフォントを変更したらどうだろうか?
2011/01/29(土) 02:07:22ID:l0OT+bD3
gdk_draw_ナントカはdeprecated
cairo使ってね
cairo使ってね
2011/02/01(火) 23:01:59ID:4jG8Kz/p
TreeViewの文字列にURLがあればハイパーリンクにしたいと思っているのですが、TreeViewの文字列を
ハイパーリンクにするにはどのようにすればいいのでしょうか?
ハイパーリンクにするにはどのようにすればいいのでしょうか?
2011/02/02(水) 20:38:30ID:KRwtVrWu
>>578
g_spawn_command_line_sync()でgvfs-openコマンド呼べばいいんじゃね?
ダメならエラーが返るだろうし。
URLかどうか判断するなら、GRegex使うのが良いのかな?
g_spawn_command_line_sync()でgvfs-openコマンド呼べばいいんじゃね?
ダメならエラーが返るだろうし。
URLかどうか判断するなら、GRegex使うのが良いのかな?
2011/02/12(土) 01:27:29ID:Tq5jzXI4
3.0 releaseしてたんだな
2011/02/13(日) 02:06:32ID:Y2lUgTlR
結局、OpenGLは統合されなかったか…
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();
この画像を表示したまま、プログラムを終了したいのですが、
そのようなことは可能でしょうか。
(他のプログラムに上書きされるまで、プログラム終了後も画像を表示しつづける。)
/* 画像表示領域の生成 */
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();
2011/02/13(日) 17:17:13ID:CYJdXAks
ウィンドウの×ボタンを押したら隠れるのはすぐできるけど、何がしたいのかよくわからないので教えて
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 // ファイルコピー
静止画を消す
|
メインの処理
という感じでやりたいと考えています。
シェルスクリプトでやるのが最適かどうかわからないのですが・・・。
説明が少なくてすいません。
X86 Linux PCを使って業務用のシステムを作っています。
PCを起動して、OSが立ち上がったあと、自動で以下の処理を行います。
1)USBメモリが接続されているチェックします。
2)もしUSBメモリがマウントできたらファイル(数百Mバイト)をHDDにコピーします。
3)ファイルコピー完了後に、メインの処理を行います。
2)のファイルコピーに時間がかかるため、その間に「しばらくお待ちください」という静止画を
フルスクリーンで表示したいんです。1)〜3)の処理はシェルスクリプトで行い、
#!/bin/bash
(省略)
|
静止画を表示
cp aaa.bin /temp // ファイルコピー
静止画を消す
|
メインの処理
という感じでやりたいと考えています。
シェルスクリプトでやるのが最適かどうかわからないのですが・・・。
2011/02/13(日) 17:56:06ID:XiVInOjw
で、教えたらお前の給料の何割くれるんだ?
2011/02/13(日) 18:14:42ID:ibuao8Zp
プログラム起動→メッセージ表示→シェル実行→シェルの終了待ち→戻り値確認→終了処理
ではダメなん?
ではダメなん?
2011/02/13(日) 18:30:28ID:YWgLFWCD
>>584
商売でオプソ使うのは止めたほうがいいよ
嫌味で言ってるんじゃなくて、法務的な問題が多すぎてメリット無いって
ソースコード開示しろって言われたとき、開示できる仕様なの?
客先とトラブルになっちゃうよ?
止めた方がいいと思うけど
商売でオプソ使うのは止めたほうがいいよ
嫌味で言ってるんじゃなくて、法務的な問題が多すぎてメリット無いって
ソースコード開示しろって言われたとき、開示できる仕様なの?
客先とトラブルになっちゃうよ?
止めた方がいいと思うけど
588583
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
内容了解。俺だったらこんな感じに実装するけどこでどうかな?
どうしても一回プロセス自体終了する必要があるのであれば
もう少し手を入れないといけないと思う。
スクリプト内のhelloworld.pyは以下のもの
http://www.pygtk.org/pygtk2tutorial/examples/helloworld.py
#!/bin/bash
${PWD}/helloworld.py &
GTKPID=$!
sleep 10
kill ${GTKPID}
exit
2011/02/13(日) 23:32:30ID:q0+Fj2Ij
2011/02/15(火) 00:33:40ID:yHAzvg6R
http://sourceforge.jp/magazine/11/02/14/0318203
2年ぶりのメジャーリリース、「GTK+ 3.0」が登場
2年ぶりって…
訳も適当だし、なんか寂しいリリースだな
2年ぶりのメジャーリリース、「GTK+ 3.0」が登場
2年ぶりって…
訳も適当だし、なんか寂しいリリースだな
591login:Penguin
2011/02/19(土) 17:26:47ID:7Kan848G PyGTKを使っているのですが、TreeViewのデータを更新したいのですがどのようにすればわからず苦しんでおります。
行いたいことは、
TreeViewに(ID,TEXT)というカラムありデータが羅列しています。
そのIDを指定してTEXTの内容を変更したいのですが、どのようにすればいいでしょうか?
どうかご教授頂ければと思います。
行いたいことは、
TreeViewに(ID,TEXT)というカラムありデータが羅列しています。
そのIDを指定してTEXTの内容を変更したいのですが、どのようにすればいいでしょうか?
どうかご教授頂ければと思います。
2011/02/20(日) 22:47:31.70ID:9P4zTjVT
>>591
簡単に言うと、TreeStoreのIterを対象のところ(ID)まで移動して、
tree_store_set()を行う。
http://library.gnome.org/devel/gtk/unstable/TreeWidget.html#id895991
簡単に言うと、TreeStoreのIterを対象のところ(ID)まで移動して、
tree_store_set()を行う。
http://library.gnome.org/devel/gtk/unstable/TreeWidget.html#id895991
2011/02/20(日) 22:55:37.60ID:i278BMok
(´・ω・`)ご教示だろ
2011/02/20(日) 22:59:25.78ID:AtCPi59r
女教授だって
595login:Penguin
2011/02/28(月) 09:54:32.03ID:TADfIJ7a2011/03/06(日) 02:46:29.22ID:fhS84NZT
スレ違いであれば申し訳ないございません。
LinuxでGTK+を使ってアプリを作成しています。
Windowsで言うグローバルホットキーを実装したくて色々調べたのですが該当するページが見つからず途方にくれています。
GTK+にはRegisterHotKey()に当たる関数はないのでしょうか?
また、Linuxでグローバルホットを実装する方法があればご提示お願い致します。
LinuxでGTK+を使ってアプリを作成しています。
Windowsで言うグローバルホットキーを実装したくて色々調べたのですが該当するページが見つからず途方にくれています。
GTK+にはRegisterHotKey()に当たる関数はないのでしょうか?
また、Linuxでグローバルホットを実装する方法があればご提示お願い致します。
2011/03/06(日) 04:33:17.56ID:tsVY1dm+
>>596
gtk hotkey でググったら、一発ですが探してないの?
gtk hotkey でググったら、一発ですが探してないの?
598596
2011/03/07(月) 03:13:28.76ID:PnCjIDjh >>597
すいません、ググり方が少し違ったようで・・・
「Linux プログラミング ホットキー」などで探していました。
ご指摘頂いたワードで検索した結果なんとか行けそうです。
本当にありがとうございました。
すいません、ググり方が少し違ったようで・・・
「Linux プログラミング ホットキー」などで探していました。
ご指摘頂いたワードで検索した結果なんとか行けそうです。
本当にありがとうございました。
2011/03/08(火) 11:03:24.04ID:d1JzSVeD
検索って難しいよね。目的の情報に準じた予備知識があって
適切なキーワードを選択できてはじめて探し当てられる。
適切なキーワードを選択できてはじめて探し当てられる。
2011/03/08(火) 12:59:49.88ID:a0IyugMv
>目的の情報に準じた予備知識があって
あるある。だいぶ知恵ついてくると簡単に検索できるようになるけど、初めての分野だと一向にヒットしない
よく初心者スレで「検索しても見つかりませんでした」「○○で検索すればすぐみつかるだろksg」
みたいなやりとり見るけど、正直初心者にはムリだよな…と思ったりもする。放置するけど
今度またググル先生がアルゴリズム変えるらしいけど、こういった点では改善がみられるかなあ…
あるある。だいぶ知恵ついてくると簡単に検索できるようになるけど、初めての分野だと一向にヒットしない
よく初心者スレで「検索しても見つかりませんでした」「○○で検索すればすぐみつかるだろksg」
みたいなやりとり見るけど、正直初心者にはムリだよな…と思ったりもする。放置するけど
今度またググル先生がアルゴリズム変えるらしいけど、こういった点では改善がみられるかなあ…
2011/03/08(火) 19:26:19.05ID:tKbotCXi
3.0.0になってLnFはなんか変わった?
右側に0ナンバーが多いものはなんか怖いから、まだ試してない。
右側に0ナンバーが多いものはなんか怖いから、まだ試してない。
2011/03/13(日) 21:58:33.68ID:Vqq2M10I
valaつかっているひといますか?
2011/03/13(日) 23:48:32.57ID:u6WvClB5
2011/03/17(木) 17:02:45.22ID:+oBUwr3N
質問です。pygtkを使っています。
gtk.TextViewの背景色を変更するにはどのようにすればよいでしょうか?
gtk.TextViewの背景色を変更するにはどのようにすればよいでしょうか?
605604
2011/03/18(金) 15:07:37.88ID:hYpmyKaN 自己解決しました。 modify_base(state, color)で変更できました。
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.
時に以下のエラーが出るようになってしまいました。同じようなエラーを経験した方は居ませんでしょ
うか?
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.
607606
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 );
誤
Gtk::Main kit( argv, argc );
Gtk::GL::init( argv, argc );
正
Gtk::Main kit( argc, argv );
Gtk::GL::init( argc, argv );
2011/05/02(月) 11:45:41.61ID:izX8cIkn
通らない理由がないからな
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(); });
試してみたら普通にコンパイルエラーになる。
それと関係無いけど、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(); });
2011/05/03(火) 18:07:59.69ID:6MgTkiYn
2011/05/07(土) 08:45:48.59ID:dGkArH/V
Valaは日本語のまとまったドキュメントは皆無だね。
英語だったら本家サイトのドキュメントで困る事はないよ。
最終的にC言語にトランスレートされるんだけど、そのソースを見るのが中々楽しいw
英語だったら本家サイトのドキュメントで困る事はないよ。
最終的にC言語にトランスレートされるんだけど、そのソースを見るのが中々楽しいw
2011/05/11(水) 17:31:43.03ID:ZkP/smDq
gtkで音楽を鳴らすことは出来ますか?
どうすればいいでしょうか?
どうすればいいでしょうか?
2011/05/11(水) 21:14:23.65ID:lC/0GEj9
できません
2011/05/11(水) 21:50:59.78ID:TI/wHkRV
音楽の方はGTKとは関係ないんじゃないかね?
とりあえずALSA APIとか調べてみては?
とりあえずALSA APIとか調べてみては?
2011/05/14(土) 12:57:13.28ID:z2Mrc21j
すいません
windowsでgtk+の開発環境を整えたいのですが参考になるサイトありませんか?
windowsでgtk+の開発環境を整えたいのですが参考になるサイトありませんか?
2011/05/14(土) 13:14:39.16ID:5Yfumgbf
板の名前を100回読読んで最後にサーをつけてみやがれ糞ども
2011/05/14(土) 16:45:40.19ID:lAxQi/en
2011/05/14(土) 18:54:06.07ID:ndPfVk8h
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をつかってるので・・・
ありがとうございます
でも、やっぱり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をつかってるので・・・
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
あと質問のつもりなら、どのソースをどんな方法でコンパイルしたかくらいは書くべき。
どうすればいいのでしょうかって、どうすればいいのか自分で貼り付けてるじゃん。
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable
あと質問のつもりなら、どのソースをどんな方法でコンパイルしたかくらいは書くべき。
2011/05/14(土) 20:04:20.32ID:z2Mrc21j
2011/05/14(土) 20:55:58.32ID:Jq7jXtDN
Linuxだと面倒臭くない、という理由だった人間がパスの通し方もわからんとか…
世の中なめてんのか?
世の中なめてんのか?
2011/05/14(土) 21:05:27.10ID:z2Mrc21j
すいません。日本語でおねがいします
2011/05/14(土) 21:20:41.50ID:Jq7jXtDN
LinuxでGTK+プログラミングしようって人間が日本語でないとだめって…
世の中なんめてんのか?
世の中なんめてんのか?
2011/05/14(土) 21:28:54.65ID:agWK3k8h
ごめん俺も英語ダメ
出来るだけ日本語の情報があるとうれしいw
出来るだけ日本語の情報があるとうれしいw
2011/05/14(土) 21:35:13.28ID:z2Mrc21j
>>624
親のすねかじってるお前よりマシだよハゲ
親のすねかじってるお前よりマシだよハゲ
2011/05/14(土) 21:45:25.94ID:Jq7jXtDN
,,,,,,,,,,,,,,,,,,,,
/": : : : : : : : \
/-─-,,,_: : : : : : : : :\
/ '''-,,,: : : : : : : :i
/、 /: : : : : : : : i ________
r-、 ,,,,,,,,,,、 /: : : : : : : : : :i /
L_, , 、 \: : : : : : : : :i / Yahoo!翻訳したら
/●) (●> |: :__,=-、: / < 負けかなと思ってる
l イ '- |:/ tbノノ \
l ,`-=-'\ `l ι';/ \ 英語がだめな24・男性
ヽトェ-ェェ-:) -r'  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヾ=-' / /
____ヽ::::... / ::::|
/ ̄ ::::::::::::::l `──'''' :::|
/": : : : : : : : \
/-─-,,,_: : : : : : : : :\
/ '''-,,,: : : : : : : :i
/、 /: : : : : : : : i ________
r-、 ,,,,,,,,,,、 /: : : : : : : : : :i /
L_, , 、 \: : : : : : : : :i / Yahoo!翻訳したら
/●) (●> |: :__,=-、: / < 負けかなと思ってる
l イ '- |:/ tbノノ \
l ,`-=-'\ `l ι';/ \ 英語がだめな24・男性
ヽトェ-ェェ-:) -r'  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヾ=-' / /
____ヽ::::... / ::::|
/ ̄ ::::::::::::::l `──'''' :::|
2011/05/14(土) 22:10:07.52ID:TqodLHpv
GTK以前にOSで躓いてるのか。
だったら分かってるだろうwinでやった方がいいんじゃないの?
winはもっと分からないっていうなら仕方ないけど。
だったら分かってるだろうwinでやった方がいいんじゃないの?
winはもっと分からないっていうなら仕方ないけど。
2011/05/14(土) 23:47:30.17ID:agWK3k8h
プログラミング系の英文を翻訳したらわけが分からなくなる
原文でわけが分からない方がましなくらいにね・・・
それとは別に ID:z2Mrc21j はもっと謙虚になるべき
下地が出来ていないし質問する場所が悪いし何を聞いたらいいか分かっていない気がする
何でパスを通したいのか分からないけど細かい質問はgoogle先生で検索してみるといいかも
原文でわけが分からない方がましなくらいにね・・・
それとは別に ID:z2Mrc21j はもっと謙虚になるべき
下地が出来ていないし質問する場所が悪いし何を聞いたらいいか分かっていない気がする
何でパスを通したいのか分からないけど細かい質問はgoogle先生で検索してみるといいかも
2011/05/14(土) 23:48:21.53ID:wLtMCrHN
>>621
パスの通し方はGTKと全く関係ないLinuxの基礎の基礎なので、スレ違いです。
パスの通し方はGTKと全く関係ないLinuxの基礎の基礎なので、スレ違いです。
631login: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
aptitude install libgtk2.0-dev
gcc `pkg-config --cflags gtk+-2.0 --libs gtk+-2.0` image-viewer.c
2011/05/15(日) 20:44:42.05ID:CFcmlqIg
まあ、パスの通し方でからんでるアホも、
同レベルとみなした方が良さそうではあるがな
同レベルとみなした方が良さそうではあるがな
2011/05/15(日) 20:59:22.40ID:WCLbHSMZ
それにしてもスレ違いの質問は認めちゃだめだろw
グダグダになるぞw
グダグダになるぞw
2011/05/15(日) 21:13:58.77ID:CFcmlqIg
グダグダにするぞ!の間違いだろw
2011/05/15(日) 21:17:53.35ID:UHIJLo/l
libgtk2.0-devをインストールしてなかったわ コンパイルできた
2011/05/15(日) 21:22:41.40ID:3m8/J1/j
>>635
怒るでしかしwwww
怒るでしかしwwww
2011/05/15(日) 23:53:02.86ID:IS7vzHtp
2011/05/16(月) 06:50:27.01ID:HgEV0miS
Gentooを使うとみみっちい*-devパッケージなんかで
悩まされずにすむんだけどなあ
悩まされずにすむんだけどなあ
2011/05/17(火) 07:03:27.38ID:17NbAwxj
HTML5バックエンドにはびびった。
これは、GTK+アプリがサーバーで動いていてクライアントでは<canvas>で
表示しているだけって事かな。
HTML5対応ツールキットとか沢山出てきそうだけど、やっぱりGTK+は最初から
完成度高いものが使えるから、かなりのアドバンテージになるはず。
インストールしなくてもWindows上でGTK+アプリが使える訳だから最高だな。
これは、GTK+アプリがサーバーで動いていてクライアントでは<canvas>で
表示しているだけって事かな。
HTML5対応ツールキットとか沢山出てきそうだけど、やっぱりGTK+は最初から
完成度高いものが使えるから、かなりのアドバンテージになるはず。
インストールしなくてもWindows上でGTK+アプリが使える訳だから最高だな。
2011/05/18(水) 01:14:48.22ID:zz1Ry4tA
既存のGTK+アプリケーションを応用したクラウドサービスの予感
2011/05/24(火) 08:34:07.83ID:KqvnTjTM
GTK+2で、Cairoを用いて一回の描画に非常に時間がかかるもの(例えばマンデルブローとか)を描画して、
GTKのDrawingAreaに表示するにはどうしたらいいんでしょうか?
直接DrawingAreaのGdkwindowにExposeイベント毎に描画するようにすると当然破綻します。
GTK+2だとCairoのSurfaceに描画してそれをPixbufにするというのもできない感じなので困ってます。
GTKのDrawingAreaに表示するにはどうしたらいいんでしょうか?
直接DrawingAreaのGdkwindowにExposeイベント毎に描画するようにすると当然破綻します。
GTK+2だとCairoのSurfaceに描画してそれをPixbufにするというのもできない感じなので困ってます。
2011/05/24(火) 17:28:30.93ID:ob7Yh9v7
GdkPixmapに描画して、ウィンドウ再描画のときはそこから転送する。
むしろGTK+3でGdkPixmapがなくなって、オフスクリーンなpixmapを
どうやって持つのか知りたい。
オフスクリーンなGdkWindowというのがあるらしいから
それを作ってpixmapとして使えということなのだろうか。
むしろGTK+3でGdkPixmapがなくなって、オフスクリーンなpixmapを
どうやって持つのか知りたい。
オフスクリーンなGdkWindowというのがあるらしいから
それを作ってpixmapとして使えということなのだろうか。
643641
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使えってことだと思います。
ありがとうございます。
使ってる言語のバインディングが+2用なので仕方なく+2を使ってますが、今から使うアプリに
GdkPixmapは使いたくないので、他に手段ないでしょうか?
+2でも、CairoのSurfaceをGdkWindowにコピー?できるのが理想なんですが。
ちなみに、+3では
http://developer.gnome.org/gtk3/stable/ch25s02.html#id1407324
によればCairoのSurface使えってことだと思います。
644login: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を呼び出して落書き結果をコピーするという方法だそうです
http://zetcode.com/tutorials/cairographicstutorial/cairoimages/
の「Blind down effect」でできるようですよ
簡単に要約すると
関数cairo_image_surface_createでオフスクリーンなsurfaceを作って、そこに落書きし、
eexposeイベント内で関数cairo_set_source_surfaceを呼び出して落書き結果をコピーするという方法だそうです
2011/05/26(木) 01:09:20.52ID:/us7JkTi
GTK+3とかマジ迷惑なんですけど。
647login:Penguin
2011/05/29(日) 20:26:57.86ID:zJJLH/V3 GtkTableにアタッチしたウィジェットのパディングを変更したいんですが
gtk_table_attach()を変更の度に呼んでも問題ないですか?
それともパティングを手軽に変更できる手段って他にあるでしょうか。
gtk_table_attach()を変更の度に呼んでも問題ないですか?
それともパティングを手軽に変更できる手段って他にあるでしょうか。
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 );
で調節します。
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 );
で調節します。
649648
2011/05/31(火) 20:30:44.34ID:Bc3stUR8650login:Penguin
2011/06/02(木) 12:20:53.31ID:9ZkW8466 >>648
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです
651login:Penguin
2011/06/03(金) 01:41:05.64ID:UsW+bpf/2011/06/04(土) 06:32:58.20ID:DoiP0avE
スレッドA,BにおいてAからBを終了させるpthread_close()に相当する処理を行う方法がgtkには無い。
653648
2011/06/04(土) 17:42:05.97ID:lYXnt5Pq >>650
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。
ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。
ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません
2011/06/05(日) 12:08:13.55ID:2//sPV3W
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください
655648
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
>>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
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);
ありがとうございます
テーマの方はこんな感じでできそうですね
ちょっと試してみます
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);
2011/06/09(木) 00:26:33.80ID:z+T6y5Hb
UbuntuLinuxを使っていると、
ラブハンドルになるスクロールバーとならないスクロールバーがあるんだけど違いはなんなの?
ラブハンドルになるスクロールバーとならないスクロールバーがあるんだけど違いはなんなの?
2011/06/10(金) 23:26:43.28ID:PqNxIzez
2011/06/12(日) 17:46:23.37ID:Nl9cfmmH
>>659
いいえ、違います。
いいえ、違います。
2011/06/22(水) 01:11:00.53ID:c+3U0RiB
debhelpを日本語化するプロジェクトはもう立ち上がっているのでしょうか?
2011/06/22(水) 01:11:44.45ID:c+3U0RiB
devhelpです
2011/06/28(火) 00:26:26.50ID:eerWK6Uv
ttp://mugtug.com/sketchpad/
↑これ有名なHTML5のデモだけど、
ttp://blogs.gnome.org/alexl/2011/04/18/broadway-update-3/
GTK+3.2がリリースされれば、↑こんな感じに同じ事が出来るようにのか?
wktkが止まらない!
↑これ有名なHTML5のデモだけど、
ttp://blogs.gnome.org/alexl/2011/04/18/broadway-update-3/
GTK+3.2がリリースされれば、↑こんな感じに同じ事が出来るようにのか?
wktkが止まらない!
2011/07/01(金) 01:05:56.23ID:GKt7GreK
cairoは死んでしまったのか…
Firefoxに見捨てられ更新もほとんど無い
Firefoxに見捨てられ更新もほとんど無い
2011/07/01(金) 01:22:39.19ID:qaXNzYOT
2011/07/03(日) 08:27:55.42ID:xZFICtED
ttp://lists.cairographics.org/archives/cairo-commit/2011-June/thread.html
↑ここ見て少なく感じた。半分近くはコードでないコミットだし。
↑ここ見て少なく感じた。半分近くはコードでないコミットだし。
2011/08/01(月) 00:38:35.73ID:rgARQ4qL
GtkDrawingArea を自分で XCreateWindow して作りたい時ってどうすればいいか教えてください。
2011/08/02(火) 00:30:46.57ID:px2Xwp7s
自己解決した。
Gdk.X11Screen.lookup_visual () とか使えば、自分で XCreateWindow () する必要とかなかった。
Gdk.X11Screen.lookup_visual () とか使えば、自分で XCreateWindow () する必要とかなかった。
669login:Penguin
2011/08/22(月) 09:44:31.31ID:56fggY27 GtkEntryCompletion のポップアップの最大高さ?を設定する方法おしえてくだしあ
http://up3.viploader.net/pc/src/vlpc008412.png
デフォだと↑みたいに画面の高さいっぱい一杯までスクロールバーがついたポップアップが表示されてしまいます
http://up3.viploader.net/pc/src/vlpc008412.png
デフォだと↑みたいに画面の高さいっぱい一杯までスクロールバーがついたポップアップが表示されてしまいます
2011/08/22(月) 12:32:55.24ID:GUjzssRW
そんなAPIは無いように見えるから
どうしても欲しければ自力でGtkEntryCompletion相当のコードを書くことになるのかなぁ
どうしても欲しければ自力でGtkEntryCompletion相当のコードを書くことになるのかなぁ
671login:Penguin
2011/08/23(火) 10:55:05.34ID:fF4RpR06672login:Penguin
2011/08/24(水) 18:38:06.52ID:CLJ7sudj g_signal_connectでコールバック関数に渡せるデータって一つしかないですよね
でもどうしても複数のデータを渡したい時ってどうするんですか?
例えば,main関数内でエントリーが3つとボタンがあって,
ボタンを押したら3つのエントリーに入力されている文字列をg_printで出力する場合とか
初歩的な質問かもしれないけど,お願いします
でもどうしても複数のデータを渡したい時ってどうするんですか?
例えば,main関数内でエントリーが3つとボタンがあって,
ボタンを押したら3つのエントリーに入力されている文字列をg_printで出力する場合とか
初歩的な質問かもしれないけど,お願いします
2011/08/24(水) 18:57:38.20ID:tAkTiKbP
674login:Penguin
2011/08/24(水) 19:04:11.50ID:CLJ7sudj2011/08/24(水) 19:10:25.09ID:tAkTiKbP
自分でラッパー書いて、可変引数版のg_signal_connectを自由につくってもいいのよ〜
一般的に複数引数渡すよりポインタ1個渡す方が効率的、と考えられてるんじゃないかな
普通は渡したいデータの型も文字列だけじゃないだろうし、Cだと型が予測できない可変引数を処理するのは面倒だと思う
一般的に複数引数渡すよりポインタ1個渡す方が効率的、と考えられてるんじゃないかな
普通は渡したいデータの型も文字列だけじゃないだろうし、Cだと型が予測できない可変引数を処理するのは面倒だと思う
2011/08/24(水) 19:20:10.95ID:CLJ7sudj
677login:Penguin
2011/08/24(水) 19:40:28.68ID:fAbet21j >>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)でとれる名前を確認しながら扱う
三通り思いつきました、どうでしょうか?
・その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)でとれる名前を確認しながら扱う
三通り思いつきました、どうでしょうか?
2011/08/25(木) 00:14:37.53ID:IvAnECIo
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箇所がエラーになってしまいます。
だれか解決してください。
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箇所がエラーになってしまいます。
だれか解決してください。
2011/08/25(木) 07:33:21.51ID:3JebkG67
3.0の方針として、直接メンバー変数にアクセスしない事になったんで、
それぞれ、set_window, get_window みたいなアクセサ経由に変更すればOK
それぞれ、set_window, get_window みたいなアクセサ経由に変更すればOK
680login:Penguin
2011/08/25(木) 08:20:25.79ID:Yioj7fNN >>678 下記サイト 中段 "GdkDrawable is gone" によると
「GTK+3において GdkDrawable,GdkPixmap,GdkImage は削除された。代わりに cairo_surface_t,GdkPixbuf を使え」
とあります。承知の上での質問でしたらすいません
http://developer.gnome.org/gtk3/3.1/ch25s02.html
「GTK+3において GdkDrawable,GdkPixmap,GdkImage は削除された。代わりに cairo_surface_t,GdkPixbuf を使え」
とあります。承知の上での質問でしたらすいません
http://developer.gnome.org/gtk3/3.1/ch25s02.html
2011/08/25(木) 15:58:01.07ID:67oz2wuj
682login:Penguin
2011/08/26(金) 09:59:15.55ID:lIEWgrKL dat復帰しろ
2011/08/26(金) 18:45:59.14ID:miWeYAjd
2011/08/27(土) 18:18:33.00ID:rt71f+c2
2011/08/30(火) 03:41:36.85ID:KLnazqo8
GTK+2で使用可能な2D plotterにはどんなものがありますか?
GTK+3にも移行できそうなものでオススメがありましたら教えてください
GTK+3にも移行できそうなものでオススメがありましたら教えてください
2011/08/30(火) 10:24:20.53ID:5PScM+cr
あんたの言う「2D plotter」とは何なのかをもうちょっと調べなさいよ
「大判プリンター」で目的に合うならこちらを勧めるよ
どうしてもプロッターならその理由が判らないと始まらないし
GTK関係ない話にもなる
「大判プリンター」で目的に合うならこちらを勧めるよ
どうしてもプロッターならその理由が判らないと始まらないし
GTK関係ない話にもなる
2011/08/30(火) 10:55:15.61ID:9Gn96LUV
ベクトルDrawとかのライブラリの亊じゃね?
gnuplotとかmatplotとかそういうの。
わからい人にはグラフ書くライブラリって言ったほうがいいのかな?
gnuplotとかmatplotとかそういうの。
わからい人にはグラフ書くライブラリって言ったほうがいいのかな?
2011/08/30(火) 11:18:58.63ID:KLnazqo8
仰る通りライブラリのことです、GUIプログラミングのスレでの発言ですからね
それじゃ調べたものを書きますね
・plplot5.9.6
古い環境を意識してるのか8-bit色制限?cairoが普通に扱えて且つPostScriptも吐けて好印象
ただ関数群が使いにくい印象
・GtkExtra3.0.1(beta) の GtkPlot
こちらはdemoを動かしただけですが若干もっさり描画?
cairoすらwrappingしてるからからか?
他にあればそれも検討してその上で使うものを決定したいのです
それじゃ調べたものを書きますね
・plplot5.9.6
古い環境を意識してるのか8-bit色制限?cairoが普通に扱えて且つPostScriptも吐けて好印象
ただ関数群が使いにくい印象
・GtkExtra3.0.1(beta) の GtkPlot
こちらはdemoを動かしただけですが若干もっさり描画?
cairoすらwrappingしてるからからか?
他にあればそれも検討してその上で使うものを決定したいのです
2011/08/31(水) 00:52:22.06ID:n3SEIKnI
http://stackoverflow.com/questions/915940/python-plotting-libraries
http://wiki.python.org/moin/NumericAndScientific/Plottinghttp://wiki.python.org/moin/NumericAndScientific/Plotting
最近だとRとか使ってるイメージはあるけど
この辺昔からあるからね。どうしてもラッパーライブラリは多くなっちゃうよね
Q: Does pychart support Windows?
Yes. But you need to install Python and Ghostscript beforehand.
pychartとかどうかな日本の人だよ名前から判断すると
http://wiki.python.org/moin/NumericAndScientific/Plottinghttp://wiki.python.org/moin/NumericAndScientific/Plotting
最近だとRとか使ってるイメージはあるけど
この辺昔からあるからね。どうしてもラッパーライブラリは多くなっちゃうよね
Q: Does pychart support Windows?
Yes. But you need to install Python and Ghostscript beforehand.
pychartとかどうかな日本の人だよ名前から判断すると
2011/08/31(水) 15:52:48.56ID:STiWeB5m
>>689
ありがとうございます。出来ればCで使えるGTK+のwidget又はcairo_tに描画できるものでお願いします。。
グラフの枠,軸ラベル,グラフ自身,凡例
これらを書ける関数が用意されてると嬉しいです。cairoでガリガリ書く奴はgnome-system-monitorを参考にして
書きましたが何か違うなと感じました、「もっと楽できるものあるだろう」と
Rって言語は初めて知りました。R-devel入れてみましたが GtkDrawingAreaやcairo_tに書く方法が判らず断念しました
pychartはpython使う時は使ってみようと思います
ありがとうございます。出来ればCで使えるGTK+のwidget又はcairo_tに描画できるものでお願いします。。
グラフの枠,軸ラベル,グラフ自身,凡例
これらを書ける関数が用意されてると嬉しいです。cairoでガリガリ書く奴はgnome-system-monitorを参考にして
書きましたが何か違うなと感じました、「もっと楽できるものあるだろう」と
Rって言語は初めて知りました。R-devel入れてみましたが GtkDrawingAreaやcairo_tに書く方法が判らず断念しました
pychartはpython使う時は使ってみようと思います
2011/09/06(火) 20:57:43.09ID:JODXyz/L
gtk_image関連で、プログラム内でファイルを指定して画像を用意する関数はありますか?
gtk_image_new_form_fileなどのように起動するときに指定するのではなく
プログラム内で指定したいのです
gtk_image_new_form_fileなどのように起動するときに指定するのではなく
プログラム内で指定したいのです
2011/09/06(火) 21:09:41.30ID:h7bDDi3V
get_image_set_from_file
2011/09/06(火) 23:45:05.53ID:JODXyz/L
>>692
すみません、それの具体的な使い方を教えてもらえないでしょうか?
その後に続く()の中には何を入れればいいのでしょうか?
devhelpを見ましたが、書いてある通りに入れるとコンパイルエラーが出ます
gtkwidget *image;
image = gtk_image_set_from_file (GtkImage *image,
const gchar *filename);
↑の*filename のところにファイル名を入れるのでしょうか?例えばaaa.png等
*imageのところも何か入れるのでしょうか?
すみません、それの具体的な使い方を教えてもらえないでしょうか?
その後に続く()の中には何を入れればいいのでしょうか?
devhelpを見ましたが、書いてある通りに入れるとコンパイルエラーが出ます
gtkwidget *image;
image = gtk_image_set_from_file (GtkImage *image,
const gchar *filename);
↑の*filename のところにファイル名を入れるのでしょうか?例えばaaa.png等
*imageのところも何か入れるのでしょうか?
2011/09/07(水) 00:10:39.05ID:OQwTGmux
gtk_image_new_from_fileでなんでだめなの
695692
2011/09/07(水) 00:54:07.56ID:QF3RPTD4 >>693
get_ じゃなくて gtk_ ね。俺の書き間違い
ttp://wingtk.sourceforge.net/ishan/sliders.html
ページ内で gtk_image_set_from_file で検索して
get_ じゃなくて gtk_ ね。俺の書き間違い
ttp://wingtk.sourceforge.net/ishan/sliders.html
ページ内で gtk_image_set_from_file で検索して
2011/09/07(水) 01:59:10.86ID:T6UTzAz+
>>693
gtk_image_set_from_file()使ってjpegでぱらぱら漫画作った
git clone git://git.pf.sourceforge.jp/gitroot/k/ke/kemeco/parapara_manga.git
いっしゅのモーションJPEGwww
gtk_image_set_from_file()使ってjpegでぱらぱら漫画作った
git clone git://git.pf.sourceforge.jp/gitroot/k/ke/kemeco/parapara_manga.git
いっしゅのモーションJPEGwww
2011/09/07(水) 11:01:37.48ID:s/CIYWHm
>>696
何かの折にヘッダファイルとして使わせてもらいます
何かの折にヘッダファイルとして使わせてもらいます
2011/10/03(月) 10:40:33.28ID:DltdAdh6
>>696さんのリストを一部改変してボタンを押されたら次の画像を表示するというふうにしたいのですが
上手くいきません
ボタンのシグナルコネクトをflipという関数に接続したのですが
関数が反応してないようです
どうすればいいか教えてください
改変したリストです↓
http://www1.axfc.net/uploader/Sc/so/280374.c
上手くいきません
ボタンのシグナルコネクトをflipという関数に接続したのですが
関数が反応してないようです
どうすればいいか教えてください
改変したリストです↓
http://www1.axfc.net/uploader/Sc/so/280374.c
2011/10/03(月) 10:45:19.78ID:DltdAdh6
すいません、元のリストをアップしてしまいました
正しくはこちらです(ファイル名をimage2.cに変えました)
http://www1.axfc.net/uploader/Sc/so/280375.c
正しくはこちらです(ファイル名をimage2.cに変えました)
http://www1.axfc.net/uploader/Sc/so/280375.c
2011/10/04(火) 05:43:43.88ID:OMJjY+ZZ
>>700
ちょちょと換えてみたから見てみて
http://www1.axfc.net/uploader/Sc/so/280675.c
devhelpってヘルプビューア入れて GtkButtonの説明読むのおすすめ
「The "clicked" signal」 てとこにclickedシグナルハンドラのシグネチャが書いてあるよ
>>699が元々書いてたハンドラとシグネチャが一致してなかったみたい
それと初回クリック時の画像ファイルインデックスは0番じゃなくて1番にしといた
ちょちょと換えてみたから見てみて
http://www1.axfc.net/uploader/Sc/so/280675.c
devhelpってヘルプビューア入れて GtkButtonの説明読むのおすすめ
「The "clicked" signal」 てとこにclickedシグナルハンドラのシグネチャが書いてあるよ
>>699が元々書いてたハンドラとシグネチャが一致してなかったみたい
それと初回クリック時の画像ファイルインデックスは0番じゃなくて1番にしといた
2011/10/04(火) 05:45:48.43ID:OMJjY+ZZ
指示レス番まちがえたけど 訂正しねーよ!(我が家杉山)
2011/10/04(火) 12:32:09.76ID:VseFFwAj
>>700
動きました、どうもすいません
動きました、どうもすいません
2011/10/04(火) 22:44:16.96ID:OMJjY+ZZ
謝る必要はこれっぽっちもないけど
「動けばいい」とかいう低い志は捨てようや
「動けばいい」とかいう低い志は捨てようや
2011/10/17(月) 00:11:29.94ID:OFrElfAX
ボタンを押されたときに、シグナルコネクト先を変更したいのですが
if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
ボタンを押されたら、シグナルコネクト先を変更するにはどうすればいいのでしょうか?
if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
ボタンを押されたら、シグナルコネクト先を変更するにはどうすればいいのでしょうか?
2011/10/17(月) 03:57:34.59ID:jBv5AccH
>>704
> if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
コード見ていないので確かなことは言えませんが、
g_signal_handler_disconnect()とg_signal_connect()を使えばきっと出来ますよ(やってみたら出来た)
code snippestでも貼ってくれたらアドバイスもできたかと思いますが情報が不足していましたので
「ボタンを押されたら、シグナルコネクト先を変更する」というサンプルを書いてみました。ので参照みて下さい
http://www1.axfc.net/uploader/Sc/so/284339.c
main関数内とハンドラ内で共用する変数についての渡し方は
・g_object_set_data()を利用して渡す方法
・g_signal_connect()の最後の引数にGHashTableを指定して渡す方法
・大域変数として宣言しておく方法(この程度の場合は悪手かな?)
の3通り思いつきましたが1番目の案で記述しました。書き方はいろいろあります
> if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
コード見ていないので確かなことは言えませんが、
g_signal_handler_disconnect()とg_signal_connect()を使えばきっと出来ますよ(やってみたら出来た)
code snippestでも貼ってくれたらアドバイスもできたかと思いますが情報が不足していましたので
「ボタンを押されたら、シグナルコネクト先を変更する」というサンプルを書いてみました。ので参照みて下さい
http://www1.axfc.net/uploader/Sc/so/284339.c
main関数内とハンドラ内で共用する変数についての渡し方は
・g_object_set_data()を利用して渡す方法
・g_signal_connect()の最後の引数にGHashTableを指定して渡す方法
・大域変数として宣言しておく方法(この程度の場合は悪手かな?)
の3通り思いつきましたが1番目の案で記述しました。書き方はいろいろあります
2011/10/17(月) 17:36:59.12ID:OFrElfAX
2011/12/26(月) 12:41:35.30ID:Jg1bu6au
GTKとcarioとpangoの関係を教えて下さい
2011/12/27(火) 02:22:40.60ID:4qSP4mDf
なんと、全部文字数が奇数です。
2012/02/12(日) 21:52:16.17ID:vrKTadjR
2012/03/13(火) 01:46:49.13ID:3Ugm7oRN
ウィキ作った
http://monobook.org
http://monobook.org
2012/03/13(火) 23:30:30.92ID:XEqUJYrf
ぼくもつくろっと。
2012/03/20(火) 06:02:28.11ID:jPw9I0u0
http://cairographics.org/
http://cairographics.org/news/cairo-1.11.4/
ぬぉ!死んだと思っていたcairoに新バージョンのニュースが!
FirefoxはLinux版も自前のOpenGLレンダラーに移行しつつあるから、
今更4倍速くなったって言っても悲しいけど、GTK+は間違いなくかなり速くなりそうだ。
http://cairographics.org/news/cairo-1.11.4/
ぬぉ!死んだと思っていたcairoに新バージョンのニュースが!
FirefoxはLinux版も自前のOpenGLレンダラーに移行しつつあるから、
今更4倍速くなったって言っても悲しいけど、GTK+は間違いなくかなり速くなりそうだ。
2012/03/25(日) 06:47:03.05ID:Bt4mNkdj
http://cairographics.org/news/cairo-1.12.0/
cairo-1.12.0がリリースされた。18ヶ月ぶりのメジャーバージョンアップらしい。
個人的にはGTK+の描画がどれだけ高速化されたかが気になるな。
cairo-1.12.0がリリースされた。18ヶ月ぶりのメジャーバージョンアップらしい。
個人的にはGTK+の描画がどれだけ高速化されたかが気になるな。
2012/03/25(日) 09:54:04.27ID:1P7W2wf1
2012/03/25(日) 18:58:57.29ID:3RGnGf+l
何をしようとしてるかが関係あるの?
2012/03/25(日) 21:27:14.92ID:rI7Awxch
正直に白状するが、
glageのuser dataの使い方がわからないまま
実務で開発しちゃったりしてます。
glageのuser dataの使い方がわからないまま
実務で開発しちゃったりしてます。
2012/03/25(日) 21:35:56.39ID:FgoOLGO6
あと、ラジオボタンとか、配列可して、コールバック関数を一つに
まとめる方法もわからないまま
一個一個書いてます。
とほほ
まとめる方法もわからないまま
一個一個書いてます。
とほほ
2012/03/28(水) 08:35:06.02ID:ThQeaUjt
EmacsとかVisual Studioみたいなマルチストロークのキーバインドって
GTK+でできますか?
GTK+でできますか?
2012/03/28(水) 11:02:58.95ID:he0UMBAC
GTK+はEmacsで使われています
2012/03/28(水) 20:02:18.92ID:ThQeaUjt
GTK+はEmacsではキーイベントの処理に使われていません
2012/03/28(水) 20:41:18.94ID:R04800Nw
( ゚Д ゚)
2012/03/29(木) 22:20:44.47ID:GJB1hQRo
cairoが高速化ってことはeclipseも早くなるのかね
723login:Penguin
2012/03/29(木) 22:37:41.77ID:CN8scaWa anjutaを使ってみたところ
gtk_signal_connectだと警告なしでコンパイルできるのに
g_signal_connectだと暗黙的関数宣言のエラーになるんですが
どうやったら直せるでしょうか?
gtk_signal_connectだと警告なしでコンパイルできるのに
g_signal_connectだと暗黙的関数宣言のエラーになるんですが
どうやったら直せるでしょうか?
2012/04/02(月) 18:01:59.91ID:BFIgJvs2
どんな呼び方したのか書いてくれなきゃわからん
一番いい解決方法は DevhelpっていうGUIヘルプビューワ入れて g_signal_connectの説明読むこっちゃ
ver.も気にせずに例を書くとシグネチャ違うみたいだねそれが一番幸せになれる
一番いい解決方法は DevhelpっていうGUIヘルプビューワ入れて g_signal_connectの説明読むこっちゃ
ver.も気にせずに例を書くとシグネチャ違うみたいだねそれが一番幸せになれる
725723
2012/04/03(火) 21:46:17.80ID:gvKF9Ts9 よく確認してみたところエラーになるのはgtk_signal_connectのほうで
GTK3.0で使われなくなっていて代わりにg_signal_connectを使えと書いてありました
http://developer.gnome.org/gtk/stable/gtk-Signals.html#gtk-signal-connect
GTK3.0で使われなくなっていて代わりにg_signal_connectを使えと書いてありました
http://developer.gnome.org/gtk/stable/gtk-Signals.html#gtk-signal-connect
2012/04/15(日) 02:03:04.26ID:Z1/ZfeAU
threadやmutex関係もgtk_の方は廃止になって、g_の方のみになった。3。0あたりから
基本的な関数はglibに集約して、ツールキット的な関数のみgtk 3で担当するように住み分けされた
コンパイルの最中に廃止された関数と表示がでるソースは、いずれソースを書き換えないとビルド不能になる
ちなみに最も基本的なlibcでも現在開発ラインの最新版だとgetsが本当にソースから廃止されてるので、getsが使われてるソースをビルドできなくなってる
基本的な関数はglibに集約して、ツールキット的な関数のみgtk 3で担当するように住み分けされた
コンパイルの最中に廃止された関数と表示がでるソースは、いずれソースを書き換えないとビルド不能になる
ちなみに最も基本的なlibcでも現在開発ラインの最新版だとgetsが本当にソースから廃止されてるので、getsが使われてるソースをビルドできなくなってる
2012/04/15(日) 08:43:51.29ID:khsJyTTq
ガチで使えないキット(GTK)
2012/04/22(日) 21:22:17.78ID:ZPy8N610
UGS
Never use gets().
Never use gets().
2012/05/03(木) 19:08:20.54ID:2lAo9jqg
フォントサイズって10.5ptとか小数点で設定できる?
2012/05/04(金) 06:17:57.12ID:phIzEGLj
フォントサイズの指定方法がわかってて
小数点の指定ができるかって疑問なら
やってみて自分で確認すりゃいいのに。
小数点の指定ができるかって疑問なら
やってみて自分で確認すりゃいいのに。
2012/05/04(金) 11:44:12.10ID:LzE47Zaa
型がguintみたいだが
2012/05/04(金) 14:24:41.51ID:86E5ktal
それがどうした
2012/05/09(水) 14:47:56.27ID:M8lWcVDx
Gtk.TreeView.Selection.Mode = Gtk.SelectionMode.Multiple;
に変更すると得られるGtk.TreeIterがおかしくなってしまう
のですが、Multipleの時はSelection.GetSelectedは使えない
のでしょうか?
に変更すると得られるGtk.TreeIterがおかしくなってしまう
のですが、Multipleの時はSelection.GetSelectedは使えない
のでしょうか?
2012/05/15(火) 22:46:57.21ID:PyXbSQll
Gtk.Label page_label = new Gtk.Label (title);
page_label.KeyReleaseEvent += delegate {
Console.WriteLine("!"); //←呼び出されない理由を説明してほしい!
};
page_label.KeyReleaseEvent += delegate {
Console.WriteLine("!"); //←呼び出されない理由を説明してほしい!
};
2012/05/16(水) 07:38:42.69ID:1Jlqt6RC
gtk_widget_set_events()
2012/05/16(水) 21:45:01.79ID:oMuQxzgz
737login:Penguin
2012/05/23(水) 21:46:04.65ID:jdgnkMvj GTKのGUIは更新をサボる癖があるようですが
無理やり更新させる方法はないでしょうか?
無理やり更新させる方法はないでしょうか?
2012/05/23(水) 21:50:35.79ID:jdgnkMvj
更新するWidgetを間違えてた!
解決
解決
739login:Penguin
2012/06/08(金) 19:02:58.11ID:BmPo410Y Gtk-CRITICAL **: IA__gtk_main_quit: assertion `main_loops != NULL' failed
メインループ内でGtk.Application.Quit ();を呼ぶなって事だろうけど
終了させる方法はないのでしょうか?
メインループ内でGtk.Application.Quit ();を呼ぶなって事だろうけど
終了させる方法はないのでしょうか?
2012/06/08(金) 20:38:02.95ID:6+ZFg73U
2012/06/09(土) 03:50:44.00ID:xIQyunsc
gtk_main_quit()のソースコードを読めば解決。
2012/06/10(日) 07:41:42.40ID:NypXeHdm
>>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で以前と同じ動作になるらしい
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で以前と同じ動作になるらしい
2012/07/04(水) 15:28:28.70ID:RZglH82u
from gi.repository import Gtk
2012/08/07(火) 21:52:39.08ID:4kcOLz8m
このスレ的にはGTKのものをそのまま叩くっていうのは危険なこと?
2012/08/08(水) 21:32:46.85ID:heEHx4e5
意味わからん。
2012/08/09(木) 02:30:11.31ID:IoAeP/Ow
バッシングだな
2012/08/09(木) 09:21:30.12ID:n/9/m8Sd
え?ラッパーライブラリを介さず直接コールするって意味じゃないの?
2012/08/09(木) 22:47:55.45ID:Q1A6/Eca
>>747
そのとおりです
そのとおりです
2012/08/09(木) 22:57:00.84ID:P67COA3s
Exactly
2012/09/11(火) 19:25:22.84ID:AmLZmZH+
取り敢えずgtk_main_quit()
751login:Penguin
2012/11/27(火) 12:00:27.00ID:Mwv1yHjg UbuntuでPyGTKを利用してアプリケーションを作っているのですが、一部パーミッションが与えられていないファイルへの書き込みを行いたいと考えております。
Ubuntu Software Centerからアプリケーションをインストールしようとすると、Authenticateというポップアップが出てきてパスワードを入力するとsudoの様にアプリケーションのインストールができますが、これはどのように実現しているのでしょうか?
自分でも書き込めるようにパーミッションを変更していることを前提にしているのですが、変更方法を知らない人や、一々変更した後にアプリケーションを起動するのが煩わしい人向けに、アプリケーションからsudoのようなことができないかと考えております。
Ubuntu Software Centerからアプリケーションをインストールしようとすると、Authenticateというポップアップが出てきてパスワードを入力するとsudoの様にアプリケーションのインストールができますが、これはどのように実現しているのでしょうか?
自分でも書き込めるようにパーミッションを変更していることを前提にしているのですが、変更方法を知らない人や、一々変更した後にアプリケーションを起動するのが煩わしい人向けに、アプリケーションからsudoのようなことができないかと考えております。
2012/11/27(火) 23:24:04.63ID:p3EAvFxY
2012/11/27(火) 23:44:47.91ID:2Faa51y/
2012/11/28(水) 00:24:58.73ID:JU9FPiAT
口下手な>>753は、gksuを参考にlibgksuを使えと言いたいんだな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?
755login:Penguin
2012/11/28(水) 16:35:00.90ID:a6DQ5WYq polkit
2012/12/02(日) 14:08:52.19ID:jmMYkF+D
>>754
ナイス翻訳
ナイス翻訳
2013/02/09(土) 09:31:18.23ID:cnWShbXp
質問させてください。
gtkmm2.4ベースでプログラムをいじっているのですが、画面操作せずにGtk::Dialogを閉じる方法が分かりません
Dialog作成→threadで特定の処理を開始→処理終了→※Dialogを閉じる(画面操作せずに)
と言う流れをプログレス表示などをして処理したいのですがrunした後にresponseをしてもhideしてもDialogが消えません
根本的に分かっていないのでしょうが・・・上記のような処理をするにはどうしたら良いのでしょうか?
gtkmm2.4ベースでプログラムをいじっているのですが、画面操作せずにGtk::Dialogを閉じる方法が分かりません
Dialog作成→threadで特定の処理を開始→処理終了→※Dialogを閉じる(画面操作せずに)
と言う流れをプログレス表示などをして処理したいのですがrunした後にresponseをしてもhideしてもDialogが消えません
根本的に分かっていないのでしょうが・・・上記のような処理をするにはどうしたら良いのでしょうか?
758login:Penguin
2013/03/07(木) 14:11:29.83ID:QnTnog/x こう書く方法ないかな?
public class Window :Gtk.Window{
}
public class Window :Gtk.Window{
}
2013/03/07(木) 16:21:44.64ID:19LddT7Q
>>758
valaをつかえばいいと思うよ
valaをつかえばいいと思うよ
2013/03/08(金) 18:55:04.44ID:Eqvj3fL9
vala優秀そうだね
でもwindowsでも使いまわしたいのでmonoから外れたくない
でもwindowsでも使いまわしたいのでmonoから外れたくない
2013/03/13(水) 09:34:23.06ID:EMo1WQCk
>>760
valaはwindowsでも普通に使える。
valaはwindowsでも普通に使える。
2013/03/23(土) 10:23:11.54ID:PyYsgXcc
Gtk::Dialogはon_delete_eventを呼ばないのですか?
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら
2013/03/23(土) 16:14:11.15ID:oI1eFSYR
ちょっとチャレンジしてみることにしました
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。
お手軽に描写の綺麗なプログラムが書けるってことは素晴らしい。
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。
お手軽に描写の綺麗なプログラムが書けるってことは素晴らしい。
764762
2013/03/23(土) 16:55:08.61ID:PyYsgXcc 結局add_buttonで追加したボタンを使うのではなく、アクションエリアに普通のボタンを追加し、
connectしたメソッドで処理チェックを行なった後にresponseでIDを投げる事で一応動きは出来たみたいです。
もっと簡単な方法はないですか?
connectしたメソッドで処理チェックを行なった後にresponseでIDを投げる事で一応動きは出来たみたいです。
もっと簡単な方法はないですか?
2013/05/07(火) 16:10:42.57ID:6dLQJSLO
ちょっとスレチになるかもなんですけど、GTK使われたアプリをWindowsで自動操作したいのですが
WM_LBUTTONDOWNなどで座標を直接指定でやってるんですけどMenuBar以外が反応してくれないです
どうすればいいでしょうか?
WM_LBUTTONDOWNなどで座標を直接指定でやってるんですけどMenuBar以外が反応してくれないです
どうすればいいでしょうか?
766login:Penguin
2013/05/10(金) 02:01:44.26ID:Jlh16O1w Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww
http://engawa.2ch.net/test/read.cgi/poverty/1368116873/
http://engawa.2ch.net/test/read.cgi/poverty/1368116873/
2013/07/03(水) NY:AN:NY.ANID:5x5esxXj
FreeWnn スレッドより:
http://toro.2ch.net/test/read.cgi/unix/1084551838/l50
457 :名無しさん@お腹いっぱい。:2012/07/05(木) NY:AN:NY.AN
gtk2アプリにkinput2で入力する場合に、kinput2のステータス表示の「[あ]」が
真っ黒になってしまう問題の解決法の俺様メモ。
gtk2のソースの、modules/input/gtkimcontextxim.cの
on_status_window_expose_event()関数が変更されたのが原因。
これを、gtk+-2.21.5(以前)のソースのgtkimcontextxim.cに戻せば桶。
modules/input以下のサブディレクトリだけmakeして、
できたim-xim.soだけ置き換えればよい。
ソースにバグありとみた。
http://toro.2ch.net/test/read.cgi/unix/1084551838/l50
457 :名無しさん@お腹いっぱい。:2012/07/05(木) NY:AN:NY.AN
gtk2アプリにkinput2で入力する場合に、kinput2のステータス表示の「[あ]」が
真っ黒になってしまう問題の解決法の俺様メモ。
gtk2のソースの、modules/input/gtkimcontextxim.cの
on_status_window_expose_event()関数が変更されたのが原因。
これを、gtk+-2.21.5(以前)のソースのgtkimcontextxim.cに戻せば桶。
modules/input以下のサブディレクトリだけmakeして、
できたim-xim.soだけ置き換えればよい。
ソースにバグありとみた。
2013/09/23(月) 01:43:22.12ID:pt1QWlbc
http://www.tarnyko.net/en/
ここでWindows版のBroadway実行環境を配布してたから試してみたけど
遅くて使いものにならん…
asm.jsは良い感じなんで、GTK+アプリをそのままasm.jsにコンパイルして
ブラウザで実行出来るようにしてくれたら最高だがな。
ここでWindows版のBroadway実行環境を配布してたから試してみたけど
遅くて使いものにならん…
asm.jsは良い感じなんで、GTK+アプリをそのままasm.jsにコンパイルして
ブラウザで実行出来るようにしてくれたら最高だがな。
2013/10/24(木) 11:46:06.77ID:YHoA8g0Q
同一アプリ上で、IconViewからFrameとかImageへDrag & Dropって
可能なんでしょうか・・・。
そんな感じのサンプルをご存知でしたら教えてくださいm(_ _)m
可能なんでしょうか・・・。
そんな感じのサンプルをご存知でしたら教えてくださいm(_ _)m
770769
2013/10/25(金) 16:54:19.59ID:2AmnlVsx すみません、>>769は出来るようになりました。
drop側の設定に問題がありました。
ところで、Imageから別のImageへのDrag & Dropは可能なんでしょうか。
Dragしても、IconViewの時のようにカーソルが変化しません・・・。
drop側の設定に問題がありました。
ところで、Imageから別のImageへのDrag & Dropは可能なんでしょうか。
Dragしても、IconViewの時のようにカーソルが変化しません・・・。
2014/05/24(土) 00:08:41.16ID:jA6HOcWn
gtkmmでProgressBarの描画更新はどうやったらええねん
set_fractionしても途中を描画してくれない
set_fractionしても途中を描画してくれない
2014/05/24(土) 01:19:23.19ID:3aXipg2f
2014/05/24(土) 12:34:03.59ID:3aXipg2f
>>771,773
set_fraction() で、その都度増分を変えて、すぐ更新したいってこと?
queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら?
set_fraction() で、その都度増分を変えて、すぐ更新したいってこと?
queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら?
775771
2014/05/24(土) 14:58:12.72ID:ESO9FbEd >>774
はい、その通りです。お付き合い頂き有り難う御座います。
queue_draw()を試してみましたが、表示のされ方は変わりませんでした。
試したコードを貼り付けようとしたのですが、行数の制限で書けませんでしたので、部分的に書き込みます。
ググって見ているのですが・・・何かお気づきの点がありましたらよろしくお願い致します。
プログレスバーとボタンを配置し、ボタンが押された時に動くようにしました。
drawBtn.signal_clicked().connect( sigc::mem_fun( *this, &ProgressWindow::on_draw_prog ) );
void ProgressWindow::on_draw_prog() {
progBar.set_fraction( 0.0 );
for( int i=0; i<100; i++ ) {
progBar.set_fraction( (double)i/100.0 );
// progBar.queue_draw();
sleep( 1 );
}
progBar.set_fraction( progBar.get_fraction() + 0.01 );
}
はい、その通りです。お付き合い頂き有り難う御座います。
queue_draw()を試してみましたが、表示のされ方は変わりませんでした。
試したコードを貼り付けようとしたのですが、行数の制限で書けませんでしたので、部分的に書き込みます。
ググって見ているのですが・・・何かお気づきの点がありましたらよろしくお願い致します。
プログレスバーとボタンを配置し、ボタンが押された時に動くようにしました。
drawBtn.signal_clicked().connect( sigc::mem_fun( *this, &ProgressWindow::on_draw_prog ) );
void ProgressWindow::on_draw_prog() {
progBar.set_fraction( 0.0 );
for( int i=0; i<100; i++ ) {
progBar.set_fraction( (double)i/100.0 );
// progBar.queue_draw();
sleep( 1 );
}
progBar.set_fraction( progBar.get_fraction() + 0.01 );
}
2014/05/24(土) 16:46:51.13ID:3aXipg2f
おそくなってゴメン、こんな感じでどうでしょう?
ttp://www.dotup.org/uploda/www.dotup.org5080741.gz.html
>>772 であげたチュートリアルのコードをいじったものです。
SpinButton の値を 0 から 100 (%)までの任意の値に変更して "Update" ボタンを押すと
ProgressBar の状態が変化します。
examplewindow.cc の on_button_update を見れば分かるかと思います。
ttp://www.dotup.org/uploda/www.dotup.org5080741.gz.html
>>772 であげたチュートリアルのコードをいじったものです。
SpinButton の値を 0 から 100 (%)までの任意の値に変更して "Update" ボタンを押すと
ProgressBar の状態が変化します。
examplewindow.cc の on_button_update を見れば分かるかと思います。
2014/05/24(土) 17:31:46.88ID:3aXipg2f
あれ? queue_draw() いらねーな。w
778771
2014/05/24(土) 22:15:14.18ID:SrMGc3rQ >>776
コードまで書いて頂き有り難う御座います。
コンパイルして動作を見ましたら、進捗状況の変化を確認できました。
しかしながらon_button_update内で下記コードのようなループを回しset_fractionするようにしてみましたら
相変わらず最後の表示だけするようです。実際の処理ではループを回して進捗状況をset_fractionします。
む〜もう少しネットをあさってみます。
void ExampleWindow::on_button_update()
{
m_ProgressBar.set_fraction( 0.0 );
for( int i=0; i<100; i++ ) {
m_ProgressBar.set_fraction( (double)i/100.0 );
m_ProgressBar.queue_draw();
sleep( 1 );
}
}
コードまで書いて頂き有り難う御座います。
コンパイルして動作を見ましたら、進捗状況の変化を確認できました。
しかしながらon_button_update内で下記コードのようなループを回しset_fractionするようにしてみましたら
相変わらず最後の表示だけするようです。実際の処理ではループを回して進捗状況をset_fractionします。
む〜もう少しネットをあさってみます。
void ExampleWindow::on_button_update()
{
m_ProgressBar.set_fraction( 0.0 );
for( int i=0; i<100; i++ ) {
m_ProgressBar.set_fraction( (double)i/100.0 );
m_ProgressBar.queue_draw();
sleep( 1 );
}
}
779771
2014/05/24(土) 23:11:20.28ID:SrMGc3rQ なんかそれっぽい動きになったけどこれでいいのかね・・・イベント強制執行みたいな
[変更前]
m_ProgressBar.queue_draw();
sleep( 1 );
[変更後]
usleep( 50000 );
while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true );
[変更前]
m_ProgressBar.queue_draw();
sleep( 1 );
[変更後]
usleep( 50000 );
while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true );
2014/05/24(土) 23:56:02.23ID:3aXipg2f
タイマー使って処理させるとか
http://www.dotup.org/uploda/www.dotup.org5081764.gz.html
http://www.dotup.org/uploda/www.dotup.org5081764.gz.html
781771
2014/05/25(日) 10:38:49.48ID:OwNsCCvJ タイマーか〜処理がスパゲッティーになりかけているから使いづらいんだよね
アクティビティモードの時は使いやすそう。
今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな
アクティビティモードの時は使いやすそう。
今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな
2014/05/25(日) 13:02:49.60ID:ujxKETx8
783login:Penguin
2014/06/08(日) 10:20:05.83ID:kFAavqfc ComboBoxでドロップダウンアイテムを選択した時に発生する
イベントってなに?
イベントってなに?
2014/06/08(日) 17:33:49.75ID:lVyy6Wyn
signal_changed()
785login:Penguin
2014/09/22(月) 18:34:36.01ID:eWn3ghjY 本当は先にこっちへ書くべきだった。
gtk_mode
gtk_fashion
gtk_style
gtk_pattern
gtk_mode
gtk_fashion
gtk_style
gtk_pattern
786login:Penguin
2014/10/03(金) 20:31:58.89ID:3j8hGaDn みなさん、人工言語の
高級低級の長所短所のチンチンはご存知?
高級低級の長所短所のチンチンはご存知?
2014/10/04(土) 21:22:31.83ID:PLRFhsu2
>>786
日本語でOK
日本語でOK
2014/10/05(日) 09:12:43.76ID:6cVZzLYB
技術系スレには自分で人口無能を作っちゃう人もいるからな。
>>786が人間とは限らないよ
>>786が人間とは限らないよ
789login:Penguin
2014/10/05(日) 12:54:17.13ID:8NkrJ1Fe かわいいかっぽれ
790login:Penguin
2014/10/05(日) 14:16:26.58ID:8NkrJ1Fe 人の嫌がる事をすすんでしましょう
2014/12/27(土) 20:58:23.25ID:FwEwRAao
すみませんが質問させてください
gtkmmでボタンを作りボタンを押された時にソケットで通信しようとしたのですが
select関数をした時に「リソースが一時的に利用できません」と出てしまい動きません
コンストラクタでselect関数を使うと動くのですが・・・
gtkmmに通信を阻害する要因とか有るのでしょうか?
gtkmmでボタンを作りボタンを押された時にソケットで通信しようとしたのですが
select関数をした時に「リソースが一時的に利用できません」と出てしまい動きません
コンストラクタでselect関数を使うと動くのですが・・・
gtkmmに通信を阻害する要因とか有るのでしょうか?
2014/12/28(日) 23:07:33.76ID:aGqgOq87
学校の課題でシューティングゲーム作ってるんですが、cairoで表示した複数の画像の手前、奥の位置関係を変えることってできますか?
2014/12/29(月) 00:51:05.82ID:13XuaNya
はい。
2016/01/23(土) 21:11:40.92ID:XkMlkiDd
昨日からC+GTKでプログラム作ってるんだけど質問。treeviewでリスト表示してる状態で、キー入力すると、
なんか入力ボックスが開いて入力させるんだけど、これを止めさせる方法がわからない
表示だけさせたいんで、編集できるかも?って感触を持たせたくない
エラー表示させる積りはないけど、無視したい
多分、単純な事なんだろうけど...
なんか入力ボックスが開いて入力させるんだけど、これを止めさせる方法がわからない
表示だけさせたいんで、編集できるかも?って感触を持たせたくない
エラー表示させる積りはないけど、無視したい
多分、単純な事なんだろうけど...
2017/02/04(土) 12:26:02.78ID:KMsE1Vqa
2017/02/12(日) 13:51:10.49ID:+yRaNQxe
g++ (GCC) 6.3.1 20170109、gtkmm 3.22.0でフォントの描画画像を取得するテストプログラムを
作っているのだけど Gdk::Pixbuf::create( get_window(), 0, 0, get_width(), get_height() );
で取得した画像がon_drawで描く前の状態を取ってきているみたいで一つ前の表示になってしまいます
on_drawで描画した後の画像を取得するにはどうしたら良いでしょうか?
(set_double_bufferedも疑ったのですがこちらは関係ないような気がします)
提示する情報が分からず情報不足かも知れませんが宜しくお願いします
作っているのだけど Gdk::Pixbuf::create( get_window(), 0, 0, get_width(), get_height() );
で取得した画像がon_drawで描く前の状態を取ってきているみたいで一つ前の表示になってしまいます
on_drawで描画した後の画像を取得するにはどうしたら良いでしょうか?
(set_double_bufferedも疑ったのですがこちらは関係ないような気がします)
提示する情報が分からず情報不足かも知れませんが宜しくお願いします
797796
2017/02/12(日) 17:47:04.39ID:+yRaNQxe コールバック関数内で描画に関わる関数を呼んで、その次にPixbufを取り出す関数を読んでたのですが
どうもコールバック関数が終わるまでイベントが処理されないようでした
強制的にイベントを処理する下記コードを追加して上手く動く様になりました
while( Gtk::Main::events_pending() ) {
Gtk::Main::iteration( true );
usleep( 1000 );
}
出来ればDrawingAreaに描画しなくてもPixbufを取り出せると良いのですが・・・
(Pango::Layoutあたりから直接画像イメージを作れないでしょうか)
どうもコールバック関数が終わるまでイベントが処理されないようでした
強制的にイベントを処理する下記コードを追加して上手く動く様になりました
while( Gtk::Main::events_pending() ) {
Gtk::Main::iteration( true );
usleep( 1000 );
}
出来ればDrawingAreaに描画しなくてもPixbufを取り出せると良いのですが・・・
(Pango::Layoutあたりから直接画像イメージを作れないでしょうか)
798login:Penguin
2017/05/24(水) 13:46:02.74ID:TLlefqX7 GTKってどうなの?
GTKかQtkかなんやんでQtにしたんだけど(当時kdevelopってQtの開発環境があったんだよね、今もあるけど)。
GTKかQtkかなんやんでQtにしたんだけど(当時kdevelopってQtの開発環境があったんだよね、今もあるけど)。
2017/05/24(水) 14:19:50.72ID:pbxEBOft
今からやるならQtのほうがいいんでね?
これからGTK+4で阿鼻叫喚になるのと対照的に、Qt5へ移行したばっかだし
これからGTK+4で阿鼻叫喚になるのと対照的に、Qt5へ移行したばっかだし
800login:Penguin
2017/05/24(水) 14:29:06.20ID:TJNNAVtb >>798
ウインドウ内でうねうね動かせて視覚効果高いのがのがQt。Qtならゲームも作れる。
そうゆうの全く無理で地味でも、ちょうど良いコンパクトサイズのボタン等が充実しててツール作ったりするのに適してるのがGTK。
ウインドウ内でうねうね動かせて視覚効果高いのがのがQt。Qtならゲームも作れる。
そうゆうの全く無理で地味でも、ちょうど良いコンパクトサイズのボタン等が充実しててツール作ったりするのに適してるのがGTK。
2017/05/24(水) 18:53:21.69ID:cGg4zBc+
GTK+4以降では、「安定なAPI体系はハナから持たない」って認識でいいの?
ffmpegのように絶え間なくAPIが変化し続けることになる?
で、バージョン番号もブラウザのようにうなぎ上りになるのか
ffmpegのように絶え間なくAPIが変化し続けることになる?
で、バージョン番号もブラウザのようにうなぎ上りになるのか
2017/05/24(水) 20:06:41.07ID:PSOKRtb/
https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/
2年ごとにメジャーバージョン更新
最新のメジャーバージョンは開発中につき不安定
各メジャーバージョンの最終版=安定版としたいらしい
2年ごとにメジャーバージョン更新
最新のメジャーバージョンは開発中につき不安定
各メジャーバージョンの最終版=安定版としたいらしい
2017/05/24(水) 22:24:13.70ID:0wlGVdsK
なるほど
ffmpegほどキ○ガイな方針ではないのね
ffmpegほどキ○ガイな方針ではないのね
2017/06/24(土) 15:36:13.60ID:J/+rjWu3
java の JList みたいなことはできる?
どういうのかというと、参考画像
https://docs.oracle.com/javase/tutorial/figures/uiswing/components/NameChooserMetal.png
リストのアイテムがテーブル上に並んでいて、
上下左右にカーソル移動できる。
GTK だとないかな?
どういうのかというと、参考画像
https://docs.oracle.com/javase/tutorial/figures/uiswing/components/NameChooserMetal.png
リストのアイテムがテーブル上に並んでいて、
上下左右にカーソル移動できる。
GTK だとないかな?
2017/06/24(土) 17:57:54.57ID:cdtIIsj7
IconViewをラベルだけで使うみたいなもんかね
Pythonですまんが
from gi.repository import Gtk
from gi.repository import GObject
bname = ["Arlo", "Cosmo", "Elmo", "Hugo", "Jethro",
"Laszlo", "Milo", "Nemo", "Otto", "Ringo",
"Rocco", "Rollo"]
model = Gtk.ListStore(GObject.TYPE_STRING)
for n in bname:
t = model.append()
model.set(t, 0, n)
view = Gtk.IconView(model)
view.set_text_column(0)
win = Gtk.Window()
win.add(view)
win.show_all()
win.connect("delete-event", Gtk.main_quit)
Gtk.main()
Pythonですまんが
from gi.repository import Gtk
from gi.repository import GObject
bname = ["Arlo", "Cosmo", "Elmo", "Hugo", "Jethro",
"Laszlo", "Milo", "Nemo", "Otto", "Ringo",
"Rocco", "Rollo"]
model = Gtk.ListStore(GObject.TYPE_STRING)
for n in bname:
t = model.append()
model.set(t, 0, n)
view = Gtk.IconView(model)
view.set_text_column(0)
win = Gtk.Window()
win.add(view)
win.show_all()
win.connect("delete-event", Gtk.main_quit)
Gtk.main()
2017/07/04(火) 04:00:58.40ID:Rpvk2+Dl
gtk勉強しようかと思うんだけどもうオワコン?
でもQtバインディングよりgtkバインディングのほうが多いしなぁ...
gtk4で大幅に進化したりしないかな
でもQtバインディングよりgtkバインディングのほうが多いしなぁ...
gtk4で大幅に進化したりしないかな
2017/07/04(火) 13:24:32.59ID:8Z5Rtw2V
両方やってみればいい
考えてるほど時間も労力も掛からないよ
考えてるほど時間も労力も掛からないよ
2017/07/11(火) 15:53:30.96ID:9jKfhw2z
window のサイズをいい感じ?にできる関数があるか、
お知恵を拝借。
(1) やったこと
GtkWindow に対して、GtkToolbar しか置いてない。
toolbar に、gtk_toolbar_insert() でボタンを4つ横並びに置く。
window のサイズは未指定。
(2) 動作確認
右の方のボタンが矢印でまとめられて?
メニューみたいに表示される。
(横幅を広げると、横並びに表示される)
(3) 所感
相当前に gtk_toolbar_append_element() (deprecated) 等で
配置したときは、横並びに表示されて、
window のサイズはちょうどいい具合に表示されていた(ように思う)。
ボタンが、矢印でまとめられないで、横並びに表示されるように
window のサイズをいい感じ?にできる関数がある?
(意味わかんなかったらゴメンw)
gtk_widget_set_size_request() でざっくりで指定しないとダメかなあ。
お知恵を拝借。
(1) やったこと
GtkWindow に対して、GtkToolbar しか置いてない。
toolbar に、gtk_toolbar_insert() でボタンを4つ横並びに置く。
window のサイズは未指定。
(2) 動作確認
右の方のボタンが矢印でまとめられて?
メニューみたいに表示される。
(横幅を広げると、横並びに表示される)
(3) 所感
相当前に gtk_toolbar_append_element() (deprecated) 等で
配置したときは、横並びに表示されて、
window のサイズはちょうどいい具合に表示されていた(ように思う)。
ボタンが、矢印でまとめられないで、横並びに表示されるように
window のサイズをいい感じ?にできる関数がある?
(意味わかんなかったらゴメンw)
gtk_widget_set_size_request() でざっくりで指定しないとダメかなあ。
2017/07/11(火) 21:23:00.28ID:w3xO5s8F
>>809
直接の答えは分からないけど、何の工夫もせずにやったらボタンが4つ並ぶ状態で起動すると思う
public class ToolbarTest : Gtk.Window {
public ToolbarTest () {
destroy.connect (Gtk.main_quit);
var tb = new Gtk.Toolbar ();
foreach (var n in new int[] {1,2,3,4}){
tb.add (new Gtk.ToolButton (null,@"Button$n"));
}
add (tb);
show_all ();
}
public static int main (string[] args) {
Gtk.init (ref args);
new ToolbarTest ();
Gtk.main ();
return 0;
}
}
直接の答えは分からないけど、何の工夫もせずにやったらボタンが4つ並ぶ状態で起動すると思う
public class ToolbarTest : Gtk.Window {
public ToolbarTest () {
destroy.connect (Gtk.main_quit);
var tb = new Gtk.Toolbar ();
foreach (var n in new int[] {1,2,3,4}){
tb.add (new Gtk.ToolButton (null,@"Button$n"));
}
add (tb);
show_all ();
}
public static int main (string[] args) {
Gtk.init (ref args);
new ToolbarTest ();
Gtk.main ();
return 0;
}
}
2017/09/24(日) 13:44:57.02ID:AWmycg5C
toolbar に付いている「つまみ」
(アプリでよくある「toolbar を固定する」みたい感じなのをオフにすると現れる、持つ部分?)
あれは GTK+ では、どうやって出すのでしょうか?
(アプリでよくある「toolbar を固定する」みたい感じなのをオフにすると現れる、持つ部分?)
あれは GTK+ では、どうやって出すのでしょうか?
2017/09/24(日) 23:45:06.00ID:PwTxDy1k
GtkHandleBoxならdeprecatedだぞ
2017/09/25(月) 09:15:38.26ID:bLbAubVC
VTEのspawnなんとかのAPIはいつになったらファイナライズされるのかね(怒
2017/10/05(木) 21:14:42.06ID:c3KsIY0h
gtk4が気になってgtkの勉強始めようと思うんだけど初心者は何から始めるのがおすすめでしょうか?
2017/10/10(火) 12:36:19.63ID:d/a7Ir8S
python3+gtk3で作るに際し
IDE (統合環境)みたいなのってある?
そう大げさなものでなくてよくて
コード補完(gtkのメソッドの)が
出来ればいいかなぐらいの感じなんだけど
もしくは大抵何が使われているのか
IDE (統合環境)みたいなのってある?
そう大げさなものでなくてよくて
コード補完(gtkのメソッドの)が
出来ればいいかなぐらいの感じなんだけど
もしくは大抵何が使われているのか
2017/10/10(火) 15:06:28.56ID:6wfTcDmJ
pycharm
2017/10/10(火) 15:07:12.53ID:6wfTcDmJ
あるいはvscodeにpythonプラグイン入れれば出来るかな
2017/10/10(火) 21:08:41.65ID:d/a7Ir8S
>>816-817
thank you
thank you
2017/10/15(日) 20:41:28.01ID:IZYKuyT8
補足だけどpycharmでgtkの補完を行うにはちょっとした作業が必要みたい
https://stackoverflow.com/a/33646560
vscodeのほう(というかjediという補完ツール)も何かしら方法はあるっぽい?
https://stackoverflow.com/a/33646560
vscodeのほう(というかjediという補完ツール)も何かしら方法はあるっぽい?
820login:Penguin
2017/11/01(水) 06:36:53.25ID:6RRJjvM+ #include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <cairo.h>
#define BITMAP_WIDTH (600)
#define BITMAP_HEIGHT (600)
GtkWidget *window;
GtkWidget *darea;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *button01;
GThread* thread;
volatile int execflag01;
int count;
int time_count;
static void do_drawing (cairo_t *, GtkWidget * widget);
struct
{
cairo_surface_t *image;
} glob;
static gboolean on_draw_event (GtkWidget * widget, cairo_t * cr, gpointer user_data)
{
cr = gdk_cairo_create (gtk_widget_get_window (widget));
do_drawing (cr, widget);
cairo_destroy (cr);
return FALSE;
}
#include <gdk/gdk.h>
#include <cairo.h>
#define BITMAP_WIDTH (600)
#define BITMAP_HEIGHT (600)
GtkWidget *window;
GtkWidget *darea;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *button01;
GThread* thread;
volatile int execflag01;
int count;
int time_count;
static void do_drawing (cairo_t *, GtkWidget * widget);
struct
{
cairo_surface_t *image;
} glob;
static gboolean on_draw_event (GtkWidget * widget, cairo_t * cr, gpointer user_data)
{
cr = gdk_cairo_create (gtk_widget_get_window (widget));
do_drawing (cr, widget);
cairo_destroy (cr);
return FALSE;
}
821login:Penguin
2017/11/01(水) 06:37:32.12ID:6RRJjvM+ 続き
static void do_drawing (cairo_t * cr, GtkWidget * widget)
{
gfloat screen_width;
gfloat screen_height;
gfloat image_width;
gfloat image_height;
gfloat x_scaling;
gfloat y_scaling;
/* ディスプレイの全画面の大きさを取得 */
screen_width = gdk_screen_get_width (gdk_screen_get_default ());
screen_height = gdk_screen_get_height (gdk_screen_get_default ());
/* イメージの大きさを取得 */
image_width = cairo_image_surface_get_width (glob.image);
image_height = cairo_image_surface_get_height (glob.image);
x_scaling = 1.0;
y_scaling = 1.0;
cairo_scale (cr, x_scaling, y_scaling);
cairo_set_source_surface (cr, glob.image, 0, 0);
cairo_paint (cr);
}
static void do_drawing (cairo_t * cr, GtkWidget * widget)
{
gfloat screen_width;
gfloat screen_height;
gfloat image_width;
gfloat image_height;
gfloat x_scaling;
gfloat y_scaling;
/* ディスプレイの全画面の大きさを取得 */
screen_width = gdk_screen_get_width (gdk_screen_get_default ());
screen_height = gdk_screen_get_height (gdk_screen_get_default ());
/* イメージの大きさを取得 */
image_width = cairo_image_surface_get_width (glob.image);
image_height = cairo_image_surface_get_height (glob.image);
x_scaling = 1.0;
y_scaling = 1.0;
cairo_scale (cr, x_scaling, y_scaling);
cairo_set_source_surface (cr, glob.image, 0, 0);
cairo_paint (cr);
}
822login:Penguin
2017/11/01(水) 06:37:57.41ID:6RRJjvM+ 続き
static void load_image ()
{
cairo_t *ic;
glob.image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, BITMAP_WIDTH, BITMAP_HEIGHT);
ic = cairo_create (glob.image);
//長方形の描画
{
//色の指定(外枠:Red,Green,Blue)
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
//長方形(x,y,width,height)を描画
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
//長方形の外枠を作る
cairo_stroke_preserve(ic);
//色を指定(塗りつぶし:Red,Green,Blue)
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
//長方形を塗りつぶす
cairo_fill(ic);
cairo_stroke (ic);
}
cairo_destroy (ic);
}
static void load_image ()
{
cairo_t *ic;
glob.image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, BITMAP_WIDTH, BITMAP_HEIGHT);
ic = cairo_create (glob.image);
//長方形の描画
{
//色の指定(外枠:Red,Green,Blue)
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
//長方形(x,y,width,height)を描画
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
//長方形の外枠を作る
cairo_stroke_preserve(ic);
//色を指定(塗りつぶし:Red,Green,Blue)
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
//長方形を塗りつぶす
cairo_fill(ic);
cairo_stroke (ic);
}
cairo_destroy (ic);
}
823login:Penguin
2017/11/01(水) 06:38:38.92ID:6RRJjvM+ 続き
static gpointer thread_func( gpointer data){
cairo_t *ic;
int i;
ic = cairo_create (glob.image);
{
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_fill(ic);
}
cairo_stroke (ic);
for (i = 0; i < count; i++) {
gdk_threads_enter();
{
cairo_set_source_rgb(ic, (i % 256) / 256.0, 0.0, (i % 256) / 256.0);
cairo_rectangle(ic, 0.0, (double)i, (double)BITMAP_WIDTH, 1.0);
cairo_stroke (ic);
}
gdk_threads_leave();
gtk_widget_queue_draw(darea);
usleep(time_count);
}
cairo_destroy (ic);
execflag01 = 0;
}
static gpointer thread_func( gpointer data){
cairo_t *ic;
int i;
ic = cairo_create (glob.image);
{
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_fill(ic);
}
cairo_stroke (ic);
for (i = 0; i < count; i++) {
gdk_threads_enter();
{
cairo_set_source_rgb(ic, (i % 256) / 256.0, 0.0, (i % 256) / 256.0);
cairo_rectangle(ic, 0.0, (double)i, (double)BITMAP_WIDTH, 1.0);
cairo_stroke (ic);
}
gdk_threads_leave();
gtk_widget_queue_draw(darea);
usleep(time_count);
}
cairo_destroy (ic);
execflag01 = 0;
}
824login:Penguin
2017/11/01(水) 06:39:29.00ID:6RRJjvM+ 続き
static void on_button01_clicked(GtkWidget *button, gpointer user_data){
GError *error;
if (execflag01 == 0) {
execflag01 = 1;
count = BITMAP_HEIGHT;
time_count = 1000;
thread = g_thread_create( thread_func, (gpointer)darea, FALSE, &error);
}
}
static void on_button01_clicked(GtkWidget *button, gpointer user_data){
GError *error;
if (execflag01 == 0) {
execflag01 = 1;
count = BITMAP_HEIGHT;
time_count = 1000;
thread = g_thread_create( thread_func, (gpointer)darea, FALSE, &error);
}
}
825login:Penguin
2017/11/01(水) 06:39:49.40ID:6RRJjvM+ 最後
int main (int argc, char *argv[])
{
load_image ();
execflag01 = 0;
gtk_init (&argc, &argv);
gdk_threads_init();
gdk_threads_enter();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add(GTK_CONTAINER(window), vbox);
darea = gtk_drawing_area_new ();
gtk_box_pack_start(GTK_BOX(vbox), darea, FALSE, FALSE, 0);
gtk_widget_set_size_request(darea, BITMAP_WIDTH, BITMAP_HEIGHT);
button01 = gtk_button_new_with_label("Button01");
gtk_box_pack_start(GTK_BOX(vbox), button01, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(button01), "clicked", G_CALLBACK(on_button01_clicked), NULL);
g_signal_connect (G_OBJECT (darea), "draw", G_CALLBACK (on_draw_event), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_title (GTK_WINDOW (window), "Cairo Test");
gtk_window_set_decorated (GTK_WINDOW (window), TRUE);
gtk_widget_set_size_request(window, 600, 630);
gtk_widget_show_all (window);
gtk_main ();
gdk_threads_leave();
cairo_surface_destroy (glob.image);
return 0;
}
int main (int argc, char *argv[])
{
load_image ();
execflag01 = 0;
gtk_init (&argc, &argv);
gdk_threads_init();
gdk_threads_enter();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add(GTK_CONTAINER(window), vbox);
darea = gtk_drawing_area_new ();
gtk_box_pack_start(GTK_BOX(vbox), darea, FALSE, FALSE, 0);
gtk_widget_set_size_request(darea, BITMAP_WIDTH, BITMAP_HEIGHT);
button01 = gtk_button_new_with_label("Button01");
gtk_box_pack_start(GTK_BOX(vbox), button01, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(button01), "clicked", G_CALLBACK(on_button01_clicked), NULL);
g_signal_connect (G_OBJECT (darea), "draw", G_CALLBACK (on_draw_event), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_title (GTK_WINDOW (window), "Cairo Test");
gtk_window_set_decorated (GTK_WINDOW (window), TRUE);
gtk_widget_set_size_request(window, 600, 630);
gtk_widget_show_all (window);
gtk_main ();
gdk_threads_leave();
cairo_surface_destroy (glob.image);
return 0;
}
2017/11/01(水) 12:30:43.16ID:MSa06+/w
gtkmm っていう C++ のバインディングがあるんだけど,2011 年で 3.0 が出たきり更新の音沙汰がない。
C++ 向けの GTK+ バインディングでおすすめある?
C++ 向けの GTK+ バインディングでおすすめある?
2017/11/01(水) 13:02:49.11ID:A1HFLP/N
事実上それしかないのでは
828login:Penguin
2017/11/01(水) 13:24:04.75ID:JjdAGBri >>826
音沙汰ないのは gtkmm.org だけみたいだよ
https://github.com/GNOME/gtkmm/blob/master/NEWS
https://developer.gnome.org/gtkmm-tutorial/
音沙汰ないのは gtkmm.org だけみたいだよ
https://github.com/GNOME/gtkmm/blob/master/NEWS
https://developer.gnome.org/gtkmm-tutorial/
2017/11/01(水) 16:12:00.92ID:1oQnySzL
gtkmmはgtk4に向けてc++14対応もしてるっぽいし結構期待してる
2017/11/01(水) 16:16:36.47ID:A1HFLP/N
ぼくも(^o^)
831826
2017/11/01(水) 17:32:31.31ID:MSa06+/w2017/11/01(水) 18:17:48.95ID:eYINtNrh
>>831
2.4とか3.0とかはgtkmmの互換性での番号だと思うけどどうして心許ないの?
2.4とか3.0とかはgtkmmの互換性での番号だと思うけどどうして心許ないの?
2017/11/01(水) 18:19:19.00ID:A1HFLP/N
2017/11/01(水) 18:55:06.19ID:1oQnySzL
gtk4が出るまでqt勉強する
2017/11/01(水) 18:56:39.83ID:1oQnySzL
gtk4が出たらJD書き直そうや
いつまでもgtk2じゃ駄目でしょ
最近のgtkはカラー絵文字にも対応してるようだし
いつまでもgtk2じゃ駄目でしょ
最近のgtkはカラー絵文字にも対応してるようだし
2017/11/01(水) 19:11:17.65ID:6RRJjvM+
>>820はGTK+3でBITMAPを表示する方法がわからなかったので
ネットで調べてとりあえず作ってみたものです
それとgtk_widget_queue_draw()をスレッド側で使う場合
下記のようにしないとダメなようです
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
ネットで調べてとりあえず作ってみたものです
それとgtk_widget_queue_draw()をスレッド側で使う場合
下記のようにしないとダメなようです
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
2017/11/01(水) 19:12:33.94ID:6RRJjvM+
デモとして違うのも作ってみました
>>820-825のプログラムの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;
>>820-825のプログラムの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;
2017/11/01(水) 19:13:17.37ID:6RRJjvM+
続き
param[6].xcorner = -2.238124999999996e-001; param[6].ycorner = -6.581041666666665e-001;
param[6].length = 1.250000000000000e-002;
param[7].xcorner = -2.137343749999995e-001; param[7].ycorner = -6.554270833333333e-001;
param[7].length = 3.906250000000000e-004;
ic = cairo_create (glob.image);
for (count01 = 0; count01 < 8; count01++) {
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_fill(ic);
xcorner = param[count01].xcorner;
ycorner = param[count01].ycorner;
length = param[count01].length;
depth = 1000;
xgap = length / BITMAP_WIDTH;
ygap = length / BITMAP_HEIGHT;
xx = xcorner;
yy = ycorner;
for(j = 0; j < BITMAP_WIDTH; j++) {
ic = cairo_create (glob.image);
for(i = 0; i < BITMAP_HEIGHT; i++) {
a1 = xx; b1 = yy;
i1 = 0; x1 = 0; y1 = 0;
x2 = x1 * x1;
y2 = y1 * y1;
param[6].xcorner = -2.238124999999996e-001; param[6].ycorner = -6.581041666666665e-001;
param[6].length = 1.250000000000000e-002;
param[7].xcorner = -2.137343749999995e-001; param[7].ycorner = -6.554270833333333e-001;
param[7].length = 3.906250000000000e-004;
ic = cairo_create (glob.image);
for (count01 = 0; count01 < 8; count01++) {
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_fill(ic);
xcorner = param[count01].xcorner;
ycorner = param[count01].ycorner;
length = param[count01].length;
depth = 1000;
xgap = length / BITMAP_WIDTH;
ygap = length / BITMAP_HEIGHT;
xx = xcorner;
yy = ycorner;
for(j = 0; j < BITMAP_WIDTH; j++) {
ic = cairo_create (glob.image);
for(i = 0; i < BITMAP_HEIGHT; i++) {
a1 = xx; b1 = yy;
i1 = 0; x1 = 0; y1 = 0;
x2 = x1 * x1;
y2 = y1 * y1;
2017/11/01(水) 19:13:57.79ID:6RRJjvM+
終わり
while ((i1 < depth) && (x2+y2 <=4)) {
tmp1 = x2 - y2 + a1;
y1 = 2 * x1 * y1 + b1; x1 = tmp1;
x2 = x1 * x1; y2 = y1 * y1; i1++;
}
if (i1 == depth) i1 = 0;
else i1++;
col = i1;
gdk_threads_enter();
cairo_set_source_rgb(ic, (col % 256) / 256.0, 0.0, 0.0);
cairo_rectangle(ic, (double)i, (double)j, 1.0, 1.0);
cairo_stroke(ic);
gdk_threads_leave();
xx = xx + xgap;
}
yy = yy + ygap; xx = xcorner;
if (j % 5 == 0) {
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
}
usleep(1000);
}
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
usleep(50000);
}
cairo_destroy (ic);
execflag01 = 0;
}
while ((i1 < depth) && (x2+y2 <=4)) {
tmp1 = x2 - y2 + a1;
y1 = 2 * x1 * y1 + b1; x1 = tmp1;
x2 = x1 * x1; y2 = y1 * y1; i1++;
}
if (i1 == depth) i1 = 0;
else i1++;
col = i1;
gdk_threads_enter();
cairo_set_source_rgb(ic, (col % 256) / 256.0, 0.0, 0.0);
cairo_rectangle(ic, (double)i, (double)j, 1.0, 1.0);
cairo_stroke(ic);
gdk_threads_leave();
xx = xx + xgap;
}
yy = yy + ygap; xx = xcorner;
if (j % 5 == 0) {
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
}
usleep(1000);
}
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
usleep(50000);
}
cairo_destroy (ic);
execflag01 = 0;
}
2017/11/01(水) 20:23:13.63ID:1oQnySzL
コードは別のところに貼ってくれ
2017/11/01(水) 20:39:13.35ID:A1HFLP/N
一般的なペーストビン使えば?
2017/11/01(水) 20:49:04.40ID:MSa06+/w
GTK4 で JD 書き直すの?
2017/11/01(水) 21:10:52.50ID:e2sx/G8f
2chでコード貼ると権利関係の問題が生じるから
普通は貼らない。
これ常識。
普通は貼らない。
これ常識。
2017/11/02(木) 07:34:01.28ID:DIoOuVfO
GTK+4から>>801-802の方針らしいので今GTK+使うなら3系が無難だと思う
845login:Penguin
2017/11/02(木) 18:51:47.91ID:hOMy/o9B 本来なら、ソフトウェア板のGEditスレで聞くはずなんだろうけど、あまりにあっちのスレは心許ないので、こちらで聞かせて。
まず、GEditでAlt+n(nは1とか2とか3とかの番号)のショートカットキーを入力すると
現在開いてるタブの中から該当する番号のエディタタブをアクティブにしてくれるんだけど。。
https://help.gnome.org/users/gedit/stable/gedit-shortcut-keys.html.en
GEditのWordCompletionっていうプラグイン使ってるんだけど、
これはオートコンプリートみたいに単語を入力候補の中から選んで入力支援作業をしてくれるプラグインなんだけど、
数ある候補の内から番号を選択して入力しようと思うとCtrl+Alt+n(nは番号)なんだけど、
GEditの公式ページにはAlt+nで良いって書いてある。
https://help.gnome.org/users/gedit/3.4/gedit-plugins-word-completion.html.en
自分としては使う機会が明らかにWordCompletionの方が多いから、逆の方がスゴイ都合いいんだけど、
現在GEditのショートカットキーを変更するのはスゴイ難しいっぽい(昔はプラグインとかあったみたい)。
ググッて出てくる~/.config/gedit/accel の変更もスゴイ難しい・・・。誰か分かる人がいたら教えて。よろしく。
まず、GEditでAlt+n(nは1とか2とか3とかの番号)のショートカットキーを入力すると
現在開いてるタブの中から該当する番号のエディタタブをアクティブにしてくれるんだけど。。
https://help.gnome.org/users/gedit/stable/gedit-shortcut-keys.html.en
GEditのWordCompletionっていうプラグイン使ってるんだけど、
これはオートコンプリートみたいに単語を入力候補の中から選んで入力支援作業をしてくれるプラグインなんだけど、
数ある候補の内から番号を選択して入力しようと思うとCtrl+Alt+n(nは番号)なんだけど、
GEditの公式ページにはAlt+nで良いって書いてある。
https://help.gnome.org/users/gedit/3.4/gedit-plugins-word-completion.html.en
自分としては使う機会が明らかにWordCompletionの方が多いから、逆の方がスゴイ都合いいんだけど、
現在GEditのショートカットキーを変更するのはスゴイ難しいっぽい(昔はプラグインとかあったみたい)。
ググッて出てくる~/.config/gedit/accel の変更もスゴイ難しい・・・。誰か分かる人がいたら教えて。よろしく。
2017/11/02(木) 19:59:46.62ID:88fKOOJi
>>845
スレ違いと分かってて書くし使ってるディストリやバージョンは書かないし…
Fedora25の gedit3.22だとAlt+番号で
候補が出ているときはword選択、出てないときはタブ切り替えになる
スレ違いと分かってて書くし使ってるディストリやバージョンは書かないし…
Fedora25の gedit3.22だとAlt+番号で
候補が出ているときはword選択、出てないときはタブ切り替えになる
847845
2017/11/02(木) 22:59:36.25ID:hOMy/o9B >>846
すみません。まず、スレ違いの点ですが、
ソフトウェア板にLinuxユーザ(GEditはほとんどがLinuxユーザでしょう)がどれだけいるか甚だ疑問ですし(WindowsユーザでGEdit使ってる人はほとんど詳しくないでしょうし、
Linux使いよりも多分詳しくないと思われます)、そういう理由でこちらに質問させてもらいました。
環境によっても違うんですね・・。それは知りませんでした、すみません。
自分はUbuntu16.04LTS、GEditのバージョンは3.18です。
>>846様のFedora25、GEdit3.22の場合はスゴイ良い動き方をしますね。スゴイ羨ましいです!その様な動作の仕方が理想ですね。。マジで大変うらやましいです。
ご回答ありがとうございました。
すみません。まず、スレ違いの点ですが、
ソフトウェア板にLinuxユーザ(GEditはほとんどがLinuxユーザでしょう)がどれだけいるか甚だ疑問ですし(WindowsユーザでGEdit使ってる人はほとんど詳しくないでしょうし、
Linux使いよりも多分詳しくないと思われます)、そういう理由でこちらに質問させてもらいました。
環境によっても違うんですね・・。それは知りませんでした、すみません。
自分はUbuntu16.04LTS、GEditのバージョンは3.18です。
>>846様のFedora25、GEdit3.22の場合はスゴイ良い動き方をしますね。スゴイ羨ましいです!その様な動作の仕方が理想ですね。。マジで大変うらやましいです。
ご回答ありがとうございました。
848845
2017/11/03(金) 00:02:30.59ID:RlVX2BAD UbuntuSoftwareにあったGEditを3.22だったので、インストールしてみたら
日本語対応まだしてなかったみたいです。
プラグイン選択とかファイル選択ダイアログは全部文字化けです・・。
日本語対応まだしてなかったみたいです。
プラグイン選択とかファイル選択ダイアログは全部文字化けです・・。
2017/11/03(金) 02:45:39.77ID:PPg57U6Z
Web ブラウザとかの「名前を付けて保存する」みたいな機能を使用した時に出る,
ファイルの名称と保存先を決定できるポップアップダイアログって,どこが出しているか分かりますか?
GTK+ のテーマを継承していたり「最近開いた項目」があったりするので GVfs あたりかなと予想しているのですが。
そしてあのダイアログを自分の好きなプログラムに置き換えることは可能でしょうか。
ファイルの名称と保存先を決定できるポップアップダイアログって,どこが出しているか分かりますか?
GTK+ のテーマを継承していたり「最近開いた項目」があったりするので GVfs あたりかなと予想しているのですが。
そしてあのダイアログを自分の好きなプログラムに置き換えることは可能でしょうか。
850845
2017/11/03(金) 06:44:11.70ID:l5oC3qKd Ubuntu特有のHUDやらAltでウィンドウメニューをアクティブにする動作のショートカットキーがどうも影響してるみたいです。ショートカットキーを変更してみましたが、時々反映されるまで時間とタイミングがかかるので、もうちょっと待ってみます。ありがとう。
2017/11/03(金) 11:20:54.57ID:Nq/vIn19
>>848
ならubuntuスレで聞くべき案件
ならubuntuスレで聞くべき案件
2017/11/18(土) 15:11:28.29ID:ayWF6KV7
http://mao.5ch.net/test/read.cgi/linux/1188968326/820-825
のプログラムをPython3のGTK+3で書いてみた
注)半角空白をすべて全角空白にしてあるのでコピペする場合は全角空白を半角空白にしてください
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GLib
from gi.repository import GObject
import cairo
import threading
import time
class Window01(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.set_title('Cairo Test')
self.set_position(Gtk.WindowPosition.CENTER)
self.set_property("width-request", 600)
self.set_property("height-request", 630)
self.count = 0
self.load_image()
self.vbox = Gtk.Box()
self.vbox.set_orientation(Gtk.Orientation.VERTICAL)
self.add(self.vbox)
self.darea = Gtk.DrawingArea()
self.darea.set_property("width-request", 600)
self.darea.set_property("height-request", 600)
self.vbox.pack_start(self.darea, False, False, 0)
のプログラムをPython3のGTK+3で書いてみた
注)半角空白をすべて全角空白にしてあるのでコピペする場合は全角空白を半角空白にしてください
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GLib
from gi.repository import GObject
import cairo
import threading
import time
class Window01(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.set_title('Cairo Test')
self.set_position(Gtk.WindowPosition.CENTER)
self.set_property("width-request", 600)
self.set_property("height-request", 630)
self.count = 0
self.load_image()
self.vbox = Gtk.Box()
self.vbox.set_orientation(Gtk.Orientation.VERTICAL)
self.add(self.vbox)
self.darea = Gtk.DrawingArea()
self.darea.set_property("width-request", 600)
self.darea.set_property("height-request", 600)
self.vbox.pack_start(self.darea, False, False, 0)
2017/11/18(土) 15:12:15.71ID:ayWF6KV7
self.button01 = Gtk.Button()
self.button01.set_label('Button01')
self.vbox.pack_start(self.button01, False, False, 0)
self.button01.connect('clicked', self.button01_clicked)
self.darea.connect('draw', self.on_draw_event)
self.connect('delete-event', Gtk.main_quit)
def on_draw_event(self, drawingarea, cr):
self.do_drawing(drawingarea, cr)
def do_drawing(self, drawingarea, cr):
screen_width = Gdk.Screen.get_width(Gdk.Screen.get_default())
screen_height = Gdk.Screen.get_height(Gdk.Screen.get_default())
image_width = self.image.get_width()
image_height = self.image.get_height()
x_scaling = 1.0;
y_scaling = 1.0;
cr.scale(x_scaling, y_scaling);
cr.set_source_surface (self.image, 0, 0);
cr.paint ();
def load_image(self):
self.image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 600, 600)
ic = cairo.Context(self.image)
#色の指定(外枠:Red,Green,Blue)
ic.set_source_rgb(0.0, 0.0, 1.0)
#長方形(x,y,width,height)を描画
ic.rectangle(0.0, 0.0, self.image.get_width(), self.image.get_height())
#長方形の外枠を作る
ic.stroke_preserve()
self.button01.set_label('Button01')
self.vbox.pack_start(self.button01, False, False, 0)
self.button01.connect('clicked', self.button01_clicked)
self.darea.connect('draw', self.on_draw_event)
self.connect('delete-event', Gtk.main_quit)
def on_draw_event(self, drawingarea, cr):
self.do_drawing(drawingarea, cr)
def do_drawing(self, drawingarea, cr):
screen_width = Gdk.Screen.get_width(Gdk.Screen.get_default())
screen_height = Gdk.Screen.get_height(Gdk.Screen.get_default())
image_width = self.image.get_width()
image_height = self.image.get_height()
x_scaling = 1.0;
y_scaling = 1.0;
cr.scale(x_scaling, y_scaling);
cr.set_source_surface (self.image, 0, 0);
cr.paint ();
def load_image(self):
self.image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 600, 600)
ic = cairo.Context(self.image)
#色の指定(外枠:Red,Green,Blue)
ic.set_source_rgb(0.0, 0.0, 1.0)
#長方形(x,y,width,height)を描画
ic.rectangle(0.0, 0.0, self.image.get_width(), self.image.get_height())
#長方形の外枠を作る
ic.stroke_preserve()
2017/11/18(土) 15:12:48.56ID:ayWF6KV7
#色を指定(塗りつぶし:Red,Green,Blue)
ic.set_source_rgb(0.0, 0.0, 1.0)
#長方形を塗りつぶす
ic.fill()
ic.stroke()
def button01_clicked(self, button01):
self.thread = threading.Thread(target=self.thread_func)
self.thread.start()
def thread_func(self):
ic = cairo.Context(self.image)
for i in range(0, self.image.get_height()):
Gdk.threads_enter()
ic.set_source_rgb((i % 256) / 256.0, 0.0, (i % 256) / 256.0)
ic.rectangle(0.0, i, self.image.get_width(), 1.0)
ic.stroke()
Gdk.threads_leave()
Gdk.threads_enter()
self.darea.queue_draw()
Gdk.threads_leave()
time.sleep(0.001)
GObject.threads_init()
Gdk.threads_init()
Gdk.threads_enter()
window = Window01()
window.show_all()
Gtk.main()
Gdk.threads_leave()
ic.set_source_rgb(0.0, 0.0, 1.0)
#長方形を塗りつぶす
ic.fill()
ic.stroke()
def button01_clicked(self, button01):
self.thread = threading.Thread(target=self.thread_func)
self.thread.start()
def thread_func(self):
ic = cairo.Context(self.image)
for i in range(0, self.image.get_height()):
Gdk.threads_enter()
ic.set_source_rgb((i % 256) / 256.0, 0.0, (i % 256) / 256.0)
ic.rectangle(0.0, i, self.image.get_width(), 1.0)
ic.stroke()
Gdk.threads_leave()
Gdk.threads_enter()
self.darea.queue_draw()
Gdk.threads_leave()
time.sleep(0.001)
GObject.threads_init()
Gdk.threads_init()
Gdk.threads_enter()
window = Window01()
window.show_all()
Gtk.main()
Gdk.threads_leave()
2017/11/18(土) 15:40:31.44ID:b18MsuCQ
>>852
2chにコードを貼ると権利が2ch側に譲渡されるのでpastebinなどを使いましょう。
2chにコードを貼ると権利が2ch側に譲渡されるのでpastebinなどを使いましょう。
2017/11/19(日) 03:25:08.61ID:s1HDk3bJ
一般的なペーストビン使ったらいいと思う
2017/11/23(木) 09:36:01.93ID:0dqzQ9+I
>>837-839をPythonで書いてみました
コードは下のサイトで公開してます
https://pastebin.com/94SpaGgM
PyGObjectを各プラットフォームにインストールするには
http://pygobject.readthedocs.io/en/latest/getting_started.html
コードは下のサイトで公開してます
https://pastebin.com/94SpaGgM
PyGObjectを各プラットフォームにインストールするには
http://pygobject.readthedocs.io/en/latest/getting_started.html
2017/12/25(月) 03:03:03.86ID:gvoWVmMo
初歩的な質問ですみません。
glade3.18、C言語(初級の本を読んだ程度の知識です)を使用しています。
起動したgladeの右側のプロパティ画面で、
window1 GtkWindow
□|__scrolledwindow1 GtkScrolledWindow
□□|__viewport1 GtkViewport
□□|____image2 GtkImage
のように配置し、scrolledwindow1の全般タブのminimum content width と minimum content height に整数値を入れる事で、window1はマウスでの画像拡大縮小(ドラッグで)が出来る事は確認出来ました。
次に、
window1 GtkWindow
□|__box1 GtkBox
□□|__scrolledwindow1 GtkScrolledWindow
□□□|__viewport1 GtkViewport
□□□|____image2 GtkImage
□□□|button1 GtkButton
と変更すると、画像部分のスクロールは可能なものの、button1を含めたwindowの拡大縮小(ドラッグ)が上手くいきません。
ファイルダイアログの様に、OKボタンやキャンセルボタンをドラッグする事で、ボタンも一緒に下に動く様にするには、どうしたらいいのか悩んでいます。
box1の設定で見逃している部分があると思い調べているのですが見つかりませんでした。
どうすれば解決するのか教えてください。
glade3.18、C言語(初級の本を読んだ程度の知識です)を使用しています。
起動したgladeの右側のプロパティ画面で、
window1 GtkWindow
□|__scrolledwindow1 GtkScrolledWindow
□□|__viewport1 GtkViewport
□□|____image2 GtkImage
のように配置し、scrolledwindow1の全般タブのminimum content width と minimum content height に整数値を入れる事で、window1はマウスでの画像拡大縮小(ドラッグで)が出来る事は確認出来ました。
次に、
window1 GtkWindow
□|__box1 GtkBox
□□|__scrolledwindow1 GtkScrolledWindow
□□□|__viewport1 GtkViewport
□□□|____image2 GtkImage
□□□|button1 GtkButton
と変更すると、画像部分のスクロールは可能なものの、button1を含めたwindowの拡大縮小(ドラッグ)が上手くいきません。
ファイルダイアログの様に、OKボタンやキャンセルボタンをドラッグする事で、ボタンも一緒に下に動く様にするには、どうしたらいいのか悩んでいます。
box1の設定で見逃している部分があると思い調べているのですが見つかりませんでした。
どうすれば解決するのか教えてください。
2017/12/25(月) 03:19:48.60ID:gvoWVmMo
858です。ソースは以下のものです。
#include <gtk/gtk.h>
#include <stdlib.h>
static void cb_button_clicked ( GtkWidget *Button1 , gpointer user_data )
{
gtk_main_quit ();
}
int main(int argc, char *argv[])
{
GtkBuilder *builder;
GObject *window1;
// GtkWidget *Button1;
gtk_init(&argc,&argv);
builder = gtk_builder_new();
GError* error = NULL;
if ( !gtk_builder_add_from_file(builder, "test17.ui", &error) ) {
g_warning("Couldn't load builder file: %s", error->message);
g_error_free(error);
exit(1);
}
gtk_builder_add_from_file(builder, "test17.ui", NULL);
gtk_builder_connect_signals(builder, NULL);
window1 = gtk_builder_get_object(builder, "window1");
gtk_widget_show_all(GTK_WIDGET(window1));
gtk_main();
return 0;
}
#include <gtk/gtk.h>
#include <stdlib.h>
static void cb_button_clicked ( GtkWidget *Button1 , gpointer user_data )
{
gtk_main_quit ();
}
int main(int argc, char *argv[])
{
GtkBuilder *builder;
GObject *window1;
// GtkWidget *Button1;
gtk_init(&argc,&argv);
builder = gtk_builder_new();
GError* error = NULL;
if ( !gtk_builder_add_from_file(builder, "test17.ui", &error) ) {
g_warning("Couldn't load builder file: %s", error->message);
g_error_free(error);
exit(1);
}
gtk_builder_add_from_file(builder, "test17.ui", NULL);
gtk_builder_connect_signals(builder, NULL);
window1 = gtk_builder_get_object(builder, "window1");
gtk_widget_show_all(GTK_WIDGET(window1));
gtk_main();
return 0;
}
2017/12/25(月) 06:27:37.33ID:gvoWVmMo
858です。
window1 GtkBox
|__box1 GtkBox
|____textview1 GtkTextView
|____viewport1 GtkViewport
|______button1 GtkButton
textview1のパッキングタブで、展張をONで試したら上手くいきました。
画像ファイルが失敗した理由は分かりませんでしたが、他のwidgetでは成功しました。
window1 GtkBox
|__box1 GtkBox
|____textview1 GtkTextView
|____viewport1 GtkViewport
|______button1 GtkButton
textview1のパッキングタブで、展張をONで試したら上手くいきました。
画像ファイルが失敗した理由は分かりませんでしたが、他のwidgetでは成功しました。
2017/12/25(月) 06:29:41.36ID:gvoWVmMo
×…window1 GtkBox
○…window1 GtkWindow
○…window1 GtkWindow
862login:Penguin
2017/12/28(木) 23:15:58.83ID:3uyy4+Dz Gtkmmってあんなに良いのに、なんで全然流行ってないの・・?VisualC++はおろか、Qtなんかよりよっぽど良いじゃん。
もっとはやってクレヨン!!他のC++GUIライブラリがあるか知らんが、VC#、VC++、Qtより俺は断然遥かに好きだな。
簡易言語は面白くないので、無しで。VB6くらいやっててワクワクするぜ!
もっとはやってクレヨン!!他のC++GUIライブラリがあるか知らんが、VC#、VC++、Qtより俺は断然遥かに好きだな。
簡易言語は面白くないので、無しで。VB6くらいやっててワクワクするぜ!
863login:Penguin
2017/12/29(金) 13:15:34.46ID:S/CsVkMC 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
L23RPOWZ2H
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
L23RPOWZ2H
864login:Penguin
2018/01/02(火) 03:40:15.04ID:F38ZCjdE2018/01/02(火) 10:19:34.46ID:SmVe6Gd0
>>864
面白いな
面白いな
2018/01/02(火) 12:28:18.29ID:ejbpDk09
2018/01/02(火) 16:36:35.82ID:BIlvYLfT
普通にスタイル変えたスライダーに見える
868login:Penguin
2018/01/15(月) 17:16:03.76ID:fkabkrJp2018/01/28(日) 23:35:06.91ID:iGCLkti0
あの、すごく素人な質問なんだけど、
GTK+3ってGNOMEが主に採用してるツールキットだよね。
ということは、ウィンドウの装飾がGNOMEデスクトップのそれになるってことかな。
上下に幅が広いウィンドウタイトルは嫌なんだけど、どうなんだろう。あの高さって調整できるんだろうか。
GTK+3ってGNOMEが主に採用してるツールキットだよね。
ということは、ウィンドウの装飾がGNOMEデスクトップのそれになるってことかな。
上下に幅が広いウィンドウタイトルは嫌なんだけど、どうなんだろう。あの高さって調整できるんだろうか。
2018/01/29(月) 00:03:00.38ID:GKNlaBKy
テーマに従う
2018/02/04(日) 14:47:47.61ID:QeG1ckHC
TextViewのテスト用に作ってみました
ソースコードはpastebinに貼り付けてみました
エラトステネスのふるい Python版
https://pastebin.com/7T8BThMJ
エラトステネスのふるい C言語版
https://pastebin.com/egnHWyCJ
>>857にTextViewを追加してみました
マンデルブロート集合 Python版
https://pastebin.com/gnfUsgtJ
マンデルブロート集合 C言語版
https://pastebin.com/EDZcmy53
ソースコードはpastebinに貼り付けてみました
エラトステネスのふるい Python版
https://pastebin.com/7T8BThMJ
エラトステネスのふるい C言語版
https://pastebin.com/egnHWyCJ
>>857にTextViewを追加してみました
マンデルブロート集合 Python版
https://pastebin.com/gnfUsgtJ
マンデルブロート集合 C言語版
https://pastebin.com/EDZcmy53
2018/02/06(火) 19:44:30.02ID:LsU5FPdR
>>871はGTK+3でPythonはPython3です
PyGObjectを各プラットフォームにインストールするには下のURLを参照してください
http://pygobject.readthedocs.io/en/latest/getting_started.html
C言語版の方はUbuntuやDebianなら下のようにすればGTK+3が入ります
sudo apt-get install libgtk-3-dev
コンパイルは下のようにやります
gcc test01.c -o test01 $(pkg-config --cflags --libs gtk+-3.0)
(ここでtest01.cはC言語のソースファイル名 test01は実行ファイル名なので任意の名前に変更してください)
PyGObjectを各プラットフォームにインストールするには下のURLを参照してください
http://pygobject.readthedocs.io/en/latest/getting_started.html
C言語版の方はUbuntuやDebianなら下のようにすればGTK+3が入ります
sudo apt-get install libgtk-3-dev
コンパイルは下のようにやります
gcc test01.c -o test01 $(pkg-config --cflags --libs gtk+-3.0)
(ここでtest01.cはC言語のソースファイル名 test01は実行ファイル名なので任意の名前に変更してください)
2018/02/12(月) 22:22:17.34ID:+qmPP7OK
FontForge っていうアプリケーションって GTK テーマには対応してないんですか?
黒系のテーマにしてるんですけど,FontForge には反映されてないっぽいんですが…
黒系のテーマにしてるんですけど,FontForge には反映されてないっぽいんですが…
874login:Penguin
2018/02/27(火) 22:26:33.46ID:KMCxop2+ >>871-873
皆さん、お疲れ様です。
Gtkも面白くて最初けっこうやったけど、なんしろ参考書籍が少なすぎる・・。
特にGtkmmに至っては0・・・。ネットのドキュメントや英語サイトを貪っても情報量は少ない・・・
Gtk面白いから、書籍が出ればもっと人気でるんだろうけどなあ・・・
Qtでさえ、分厚いオライリーの本2冊と小さい本とQtQuickの本がある。
まぁQtQuick以外はQt4対応だけど、Ubuntu入れてれば、apt-get で QtCreator込のQt4環境が
余裕で手に入るからなあ・・・ もちろんQt5環境も簡単に手に入るけど・・・
GtkもPythonバインディングやRustバインディングもあるんだし、だれかなんとかして書籍だしてくれないかな・・
皆さん、お疲れ様です。
Gtkも面白くて最初けっこうやったけど、なんしろ参考書籍が少なすぎる・・。
特にGtkmmに至っては0・・・。ネットのドキュメントや英語サイトを貪っても情報量は少ない・・・
Gtk面白いから、書籍が出ればもっと人気でるんだろうけどなあ・・・
Qtでさえ、分厚いオライリーの本2冊と小さい本とQtQuickの本がある。
まぁQtQuick以外はQt4対応だけど、Ubuntu入れてれば、apt-get で QtCreator込のQt4環境が
余裕で手に入るからなあ・・・ もちろんQt5環境も簡単に手に入るけど・・・
GtkもPythonバインディングやRustバインディングもあるんだし、だれかなんとかして書籍だしてくれないかな・・
2018/02/27(火) 22:42:01.38ID:SXflemsb
PC初心者時代は書籍をありがたがったけど数年でその時期は去ったな
マニュアル類を読めば大抵のことは書かれてるから基本的に書籍いらんしな
マニュアル類を読めば大抵のことは書かれてるから基本的に書籍いらんしな
2018/02/27(火) 22:44:20.35ID:vsNBSr66
まあこう言った理由で新しい人は入って来ず、結果流行らない訳ですw
2018/02/28(水) 03:42:44.26ID:c4j2ATnA
新しい人はチュートリアルやっておけば取っ掛かりは十分だよね
2018/02/28(水) 21:05:10.44ID:M8ckEWeS
>>874
書籍にまとめるにはある程度の範囲に渡って網羅し、記述に矛盾が無いことが求められる
作成コストが高い
それよりも、ユーザが気になっている部分を1つずつ調べて、分かった所があればブログ等にまとめればよい
無矛盾性が要求される範囲が小さくなるので作成コストを低く出来る
広まってほしいと思うのなら、使っている人間が一人一人動かないとどうしようもない
書籍にまとめるにはある程度の範囲に渡って網羅し、記述に矛盾が無いことが求められる
作成コストが高い
それよりも、ユーザが気になっている部分を1つずつ調べて、分かった所があればブログ等にまとめればよい
無矛盾性が要求される範囲が小さくなるので作成コストを低く出来る
広まってほしいと思うのなら、使っている人間が一人一人動かないとどうしようもない
2018/03/02(金) 18:43:51.79ID:VWhGnlbA
みんなばらばらのLinuxの世界
2018/03/08(木) 11:46:28.58ID:ZZm3j3TZ
た、多様性は正義だから…(震え声)
でもgtkmmの文書の少なさはちょっと異常な気がする。使われてる規模に比べてね。
でもgtkmmの文書の少なさはちょっと異常な気がする。使われてる規模に比べてね。
2018/03/22(木) 22:15:22.48ID:okeyq8e9
Mousepadって[Alt]キーを押しながら開くメニューの上で項目を選択して、
[Ctrl]+[<anykey>]とやるとその項目にそのショートカットが割り当てられるんだな。
これGtk+3の機能なのかな。他のXfce4使ってるんだけど、アプリケーションではならんかった。
[Ctrl]+[<anykey>]とやるとその項目にそのショートカットが割り当てられるんだな。
これGtk+3の機能なのかな。他のXfce4使ってるんだけど、アプリケーションではならんかった。
882login:Penguin
2018/05/22(火) 07:49:24.99ID:Czl6p0FW 僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
JG11H
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
JG11H
883login:Penguin
2018/06/07(木) 14:43:39.32ID:63GNIF9F すみません。GtkからMySQLやSQLiteに接続したいと思ってるんですが、
普通にLinuxプログラムでMySQLなどに接続する方法もあるけど、GNOMEDBっていうのもあるらしく
GtkやGtkmmから接続しようとすると、どうもGNOME側はGNOMEDBを使えみたいな感じがするんですが
参考URLも外国語含めて少ないので、困っています。
普通のLinuxプログラムでデータベースに接続するような感じでGtkから使ってみてもいいですよね?
普通にLinuxプログラムでMySQLなどに接続する方法もあるけど、GNOMEDBっていうのもあるらしく
GtkやGtkmmから接続しようとすると、どうもGNOME側はGNOMEDBを使えみたいな感じがするんですが
参考URLも外国語含めて少ないので、困っています。
普通のLinuxプログラムでデータベースに接続するような感じでGtkから使ってみてもいいですよね?
884login:Penguin
2018/06/15(金) 15:09:38.02ID:uRfp5dHV Gtk+を勉強してると外国語も含めて情報ページが少ないんですよ。
でね、やってるうちにGtkmmもPyGtkも覚えちゃうんですよw
さすがに、LispやRustのGtkバインドとかまでは手を出さないけど、出してみてもいいっか。
でね、やってるうちにGtkmmもPyGtkも覚えちゃうんですよw
さすがに、LispやRustのGtkバインドとかまでは手を出さないけど、出してみてもいいっか。
885login:Penguin
2018/07/18(水) 04:16:12.46ID:IgF5ypZG ファイルに関連付けられているアイコンを取得する方法ってないですか?
FileChooserDialogでファイルのところにアイコン表示されているものでいいです。
アイコン取得の機能さえ公開されていれば簡単にできそうな気はするのですが、見つけられませんでした。。。
FileChooserDialogでファイルのところにアイコン表示されているものでいいです。
アイコン取得の機能さえ公開されていれば簡単にできそうな気はするのですが、見つけられませんでした。。。
2018/11/08(木) 13:15:12.33ID:0k996jQ5
>>885
ファイルマネージャにもよるんじゃね?
ファイルマネージャにもよるんじゃね?
887ino
2019/04/21(日) 11:23:51.84ID:ESbqs5Hs Gtk.ComboBoxText() の下に Gtk.Entry() が幾つか横に並んでいる GUI を作ろうとしていて苦戦してます。
と言うのは、上のコンボの選択に応じて、エントリーの数など、下の内容を変えたいのです。
アドバイスをもらえると助かります。キーワード、これを調べろ等でもありがたいです。
また、例などご存知ないでしょうか? 私は python3 + GTK+3 ですが、それに限らないです。
と言うのは、上のコンボの選択に応じて、エントリーの数など、下の内容を変えたいのです。
アドバイスをもらえると助かります。キーワード、これを調べろ等でもありがたいです。
また、例などご存知ないでしょうか? 私は python3 + GTK+3 ですが、それに限らないです。
888login:Penguin
2019/04/22(月) 00:01:33.32ID:M+dAYxMq ウィジェットAの操作でウィジェットBを変更する事はGTK+で可能でしょうか?
889login:Penguin
2019/09/24(火) 21:04:36.04ID:aSWZYMiy 「Clion」ってIDEで、GTK+を扱えるらしいけど
これって画面デザインとかできるの? 2万でできるわけねえなあ...
これって画面デザインとかできるの? 2万でできるわけねえなあ...
2019/11/28(木) 12:13:56.02ID:kw29DPG6
UbuntuでWebViewを使ったPGを作ろうとしていますがうまくいきません。
monodevelopにlibwebkit2-sharp-4.0-cilを参照設定し、htmlの表示はできたのですが、C#とJavaScript間でのデータの受け渡しができません。
サンプルになるようなソース、ウェブサイトを教えてもらえないでしょうか。
monodevelopにlibwebkit2-sharp-4.0-cilを参照設定し、htmlの表示はできたのですが、C#とJavaScript間でのデータの受け渡しができません。
サンプルになるようなソース、ウェブサイトを教えてもらえないでしょうか。
2020/04/07(火) 04:57:52.87ID:zxHfMuME
(・∀・)renice!
2020/04/07(火) 08:43:24.27ID:zxHfMuME
>>26
志村さん亡くなっちゃったね…
志村さん亡くなっちゃったね…
2020/04/18(土) 15:11:09.13ID:dHG+LUD7
GTK+に音鳴らすインターフェイスないの?
2020/05/17(日) 12:10:17.07ID:ztTG+X4j
インプットメソッドの挙動の質問なんですが、
GTK+でテキストフィールドに選択された文字列がある状態から日本語入力を開始すると、
未確定文字が選択文字列の前に挿入されますが ( |選択文字列| -> |あ}選択文字列| 等)、
他のプラットフォームだと、日本語の入力開始時点で選択文字列は削除されるようです。
(|選択文字列| -> |あ|)
で、前者のGTK+の挙動を後者のようにしたいのですが、それって何かの設定で
いけたりしますかね? それともGTK+のテキストフィールド等のクラス (GtkEntryとか)の
コードをいじったりしないと無理ですかね?
GTK+でテキストフィールドに選択された文字列がある状態から日本語入力を開始すると、
未確定文字が選択文字列の前に挿入されますが ( |選択文字列| -> |あ}選択文字列| 等)、
他のプラットフォームだと、日本語の入力開始時点で選択文字列は削除されるようです。
(|選択文字列| -> |あ|)
で、前者のGTK+の挙動を後者のようにしたいのですが、それって何かの設定で
いけたりしますかね? それともGTK+のテキストフィールド等のクラス (GtkEntryとか)の
コードをいじったりしないと無理ですかね?
895login:Penguin
2020/11/04(水) 15:58:47.24ID:mhM0YxaG Gtkmm使っています…。メインウィンドウからもう一つウィンドウを開きます…
このウィンドウにはテキストビューがあるとします…。巨大テキストを貼り付けて…メモリ使用量を増やします…。
そして…ウィンドウを閉じます…。window->signal_delete_event().connectで設定したメソッドで…delete windowをします…。
仕様では…メモリが解放され…メモリ使用量が減るはずなのですが…減りません…。
調べていたら…もっと深刻な事に気づきました…。G_OBJECT(なんかのWidget->gobj())->ref_countで参照カウントを見れます…
Glib::RefPtrはよく使います…がヘッダーで宣言せずに…ローカルで何回も宣言して受けたりします…
builder->get_widgetで親Widgetから取ったりしますが…ref_countが加算され…スタックを抜けても残ってます…。
Glib::RefPtrはヘッダーで宣言して…1つしか使わないようには変えれます…。
普通のWidgetの場合は…builder->get_widgetで何回も取得したりしますが…これもref_countが加算されます…
参照の値渡しでガンガン渡したりもしますが…普通のWidgetでもref_count増大は問題なんでしょうか?スタックを抜けてもあります…。
ref_countは後で悩むにしても…巨大テキストのTextViewをdeleteしてもメモリ使用量が減りません…。
非常に困惑しています…。誰か…。
このウィンドウにはテキストビューがあるとします…。巨大テキストを貼り付けて…メモリ使用量を増やします…。
そして…ウィンドウを閉じます…。window->signal_delete_event().connectで設定したメソッドで…delete windowをします…。
仕様では…メモリが解放され…メモリ使用量が減るはずなのですが…減りません…。
調べていたら…もっと深刻な事に気づきました…。G_OBJECT(なんかのWidget->gobj())->ref_countで参照カウントを見れます…
Glib::RefPtrはよく使います…がヘッダーで宣言せずに…ローカルで何回も宣言して受けたりします…
builder->get_widgetで親Widgetから取ったりしますが…ref_countが加算され…スタックを抜けても残ってます…。
Glib::RefPtrはヘッダーで宣言して…1つしか使わないようには変えれます…。
普通のWidgetの場合は…builder->get_widgetで何回も取得したりしますが…これもref_countが加算されます…
参照の値渡しでガンガン渡したりもしますが…普通のWidgetでもref_count増大は問題なんでしょうか?スタックを抜けてもあります…。
ref_countは後で悩むにしても…巨大テキストのTextViewをdeleteしてもメモリ使用量が減りません…。
非常に困惑しています…。誰か…。
896login:Penguin
2020/11/04(水) 19:19:14.18ID:mhM0YxaG 895です…。メモリ管理はこれでOKなんだと思う…巨大テキストをdeleteしてもメモリは減らないが…
再度…ウィンドウを立ち上げて…巨大テキストを貼っても…メモリは…増えない…
もちろん…ウィンドウを同時に2個立ち上げてで巨大テキストだと増えます…。
Glib::RefPtrのローカル宣言だけど…問題ない気がする…Windowをdeleteすると…消えてるようだ…。
どうも…今日は…メモリ管理で悩みましたが…このままでOKそうです…。
アプリをバイナリエディタとかでクラックできるのは…こういう仕様だからかもしれません…。
どうしても…メモリを減らしたい場合は…どうすればいいのかねぇ…解りません…。
再度…ウィンドウを立ち上げて…巨大テキストを貼っても…メモリは…増えない…
もちろん…ウィンドウを同時に2個立ち上げてで巨大テキストだと増えます…。
Glib::RefPtrのローカル宣言だけど…問題ない気がする…Windowをdeleteすると…消えてるようだ…。
どうも…今日は…メモリ管理で悩みましたが…このままでOKそうです…。
アプリをバイナリエディタとかでクラックできるのは…こういう仕様だからかもしれません…。
どうしても…メモリを減らしたい場合は…どうすればいいのかねぇ…解りません…。
897login:Penguin
2020/11/04(水) 19:40:10.27ID:mhM0YxaG 895です…geditでも減らないようです…これはなんとかならないんですか!?
明日は…アロケートあたりを調べてみます…。
明日は…アロケートあたりを調べてみます…。
898login:Penguin
2020/11/04(水) 19:51:18.94ID:mhM0YxaG 895です…別プロセスでWindow起動な気がしてきました…。
とにかく調べていきます…。
とにかく調べていきます…。
899login:Penguin
2020/11/05(木) 19:14:11.92ID:4YZKWaEw 895です…テキストビューを300MBまで上げて閉じると…100MBくらい減りました…。
Linuxのアロケータの問題だと思います…。
Linuxのアロケータの問題だと思います…。
2020/11/06(金) 00:23:41.75ID:JXwz9Ncv
どういう調査をしてるか分からんけど、mallocってのはユーザーランドのライブラリで、freeしたからといって直ぐにkernelに返却する訳じゃないぞ
メモリリークを調査したいならValgrindとか専用のツールを使わないと
メモリ周りの調査は簡単には行かないよ
メモリリークを調査したいならValgrindとか専用のツールを使わないと
メモリ周りの調査は簡単には行かないよ
2020/11/08(日) 08:09:49.82ID:O49Zrc/N
>>899
>Linuxのアロケータの問題だと思います
アロケータとはどんなものかをちゃんと理解してるのかと。
汎用アロケータのせいにできる範囲というものがある。
geditとか、そんなバカでかいファイルを開くことを想定してなくて、チマチマメモリを
割り当てるようになってたりするのでは。
ただ確かにLinux以外はどうかはちょっと興味がある。mallocの使い方は同じでもさくさく
mmap/munmapしたりするのもしれない。それはそれで別の問題もありうるが。
>Linuxのアロケータの問題だと思います
アロケータとはどんなものかをちゃんと理解してるのかと。
汎用アロケータのせいにできる範囲というものがある。
geditとか、そんなバカでかいファイルを開くことを想定してなくて、チマチマメモリを
割り当てるようになってたりするのでは。
ただ確かにLinux以外はどうかはちょっと興味がある。mallocの使い方は同じでもさくさく
mmap/munmapしたりするのもしれない。それはそれで別の問題もありうるが。
902login:Penguin
2020/11/17(火) 07:44:42.90ID:xVdi3jrK 煮詰まっています…ダイアログに関してです…。Gladeです。
まず…トップレベルに指定すると…Gnomeにウィンドウが2個開いたマークが付きます。
これが気に入らない…メッセージ用のダイアログですが…こんなものにウィンドウ2個開いたみたいな感じに
なるのは許せない…設定ダイアログでもそうです…メインウィンドウのみ起動していると見せたい…。
ウィンドウの属性の型をポップアップにしました…Gnomeでのインスタンス表示マークは…
メインウィンドウのみになっています…美しい…しかし…今度はリサイズができなくなりました…
これでは設定画面とかでは使えません…困りました。ID設定の横の複合というチェックボックスを付けました…
うまく行きました…が…今度は…template classになってしまい…Gtk::Builderで読み込めなくなりました…。
その他…Resize grip…駄目でした。ウィンドウが2個開いたように見えるケースで…
ページャーのスキップ、タスクバーのスキップなどやりましたが…駄目…2個開いたマークです…。
Gnomeでメインウィンドウのみにマークがついて…1個の状態で…サイズ変更ができるケースは…
なんとかしてありませんか?非常に…困っています…。
まず…トップレベルに指定すると…Gnomeにウィンドウが2個開いたマークが付きます。
これが気に入らない…メッセージ用のダイアログですが…こんなものにウィンドウ2個開いたみたいな感じに
なるのは許せない…設定ダイアログでもそうです…メインウィンドウのみ起動していると見せたい…。
ウィンドウの属性の型をポップアップにしました…Gnomeでのインスタンス表示マークは…
メインウィンドウのみになっています…美しい…しかし…今度はリサイズができなくなりました…
これでは設定画面とかでは使えません…困りました。ID設定の横の複合というチェックボックスを付けました…
うまく行きました…が…今度は…template classになってしまい…Gtk::Builderで読み込めなくなりました…。
その他…Resize grip…駄目でした。ウィンドウが2個開いたように見えるケースで…
ページャーのスキップ、タスクバーのスキップなどやりましたが…駄目…2個開いたマークです…。
Gnomeでメインウィンドウのみにマークがついて…1個の状態で…サイズ変更ができるケースは…
なんとかしてありませんか?非常に…困っています…。
903login:Penguin
2020/11/17(火) 07:55:43.58ID:xVdi3jrK 902です…。Gtkmmですが…Gtk::Builderでtemplate classを読む方法があるかもしれません…。
明日は…そこら辺を調べてみます…。
明日は…そこら辺を調べてみます…。
904login:Penguin
2020/11/17(火) 09:47:17.84ID:xVdi3jrK 902です…。できました!できました!dialog->set_transient_for(*window);でできました!
905login:Penguin
2020/11/18(水) 08:54:18.49ID:tqB1zz0Z 902です…。dialog->set_attached_to(*window);だと背景は透過のままだね…。
親ウィンドウが暗くならない…。設定画面とかでは…こっちの方が美しいかもしれない…。
親ウィンドウが暗くならない…。設定画面とかでは…こっちの方が美しいかもしれない…。
906login:Penguin
2020/11/18(水) 10:11:54.66ID:tqB1zz0Z 902です…駄目だ…dialog->set_attached_to(*window);だと…
Gnomeでウィンドウが2個立ち上がったマークが付きます…美しくない…
スマートな方法は…なんかねぇかなぁ…。
今の所…set_transient_forで親ウィンドウがグレーになる方法が最善…。
Gnomeでウィンドウが2個立ち上がったマークが付きます…美しくない…
スマートな方法は…なんかねぇかなぁ…。
今の所…set_transient_forで親ウィンドウがグレーになる方法が最善…。
907login:Penguin
2020/11/22(日) 09:22:40.16ID:RT2ZlOP6 Gtkmmです…スレッドに関してです…。Glib::ThreadとGlib::Dispatcherに関してですが…
例えば…ストップウォッチを実装したとします…UIの更新は…Dispatcherを介したほうが安定します…。
UI更新を全てDispatcherにすると…Dispatcherは…引数を渡せないので…std::queueを使う必要が出てきます…。
ぶっちゃけ…Dispatcherに任せずに…スレッド内部でUI更新をするケースって…どうなんでしょうか?
スレッドでUI更新か?ディスパッチャでUI更新か?って所で…悩んでいます…。
ディスパッチャを介さずに…スレッドでUI更新で…安定してくれれば…いいんだけど…
判断に困り果てています…。
例えば…ストップウォッチを実装したとします…UIの更新は…Dispatcherを介したほうが安定します…。
UI更新を全てDispatcherにすると…Dispatcherは…引数を渡せないので…std::queueを使う必要が出てきます…。
ぶっちゃけ…Dispatcherに任せずに…スレッド内部でUI更新をするケースって…どうなんでしょうか?
スレッドでUI更新か?ディスパッチャでUI更新か?って所で…悩んでいます…。
ディスパッチャを介さずに…スレッドでUI更新で…安定してくれれば…いいんだけど…
判断に困り果てています…。
2020/11/22(日) 11:32:43.72ID:VOmbkXjB
909login:Penguin
2020/12/24(木) 21:06:38.36ID:WbxxDuOR GtkのTextViewまたはSourceViewについて…50万行程度のテキストだと…geditでも…DRAWのバグなのか…
画面が真っ黒になるブロックがある…これって端末のスペックの問題?それともGTKのバグ?
とりあえず…俺のノートでは…50万行程度のテキストで…画面が真っ黒になるブロックが発生する…
C++で揚げ足を取るのが目的なので…別にLinuxじゃなくてもいいのだが…バグでなんかやる気なくしてきた…
画面が真っ黒になるブロックがある…これって端末のスペックの問題?それともGTKのバグ?
とりあえず…俺のノートでは…50万行程度のテキストで…画面が真っ黒になるブロックが発生する…
C++で揚げ足を取るのが目的なので…別にLinuxじゃなくてもいいのだが…バグでなんかやる気なくしてきた…
910login:Penguin
2020/12/24(木) 21:23:40.46ID:WbxxDuOR AMD Radeon™ HD 7470M
512MB(GDDR5)
ビデオメモリかなぁ…。
512MB(GDDR5)
ビデオメモリかなぁ…。
2020/12/24(木) 21:26:50.56ID:3eZE6ohA
個人情報なのかも
912login:Penguin
2020/12/24(木) 21:36:20.85ID:WbxxDuOR でも…この状態で…ブラウザ使っても支障ないし…GTKのバグ!?
凹んできた…。
凹んできた…。
913login:Penguin
2020/12/24(木) 21:43:03.04ID:WbxxDuOR radeontopでは…vram 0.66%…バグだ…やる気なくしてきた…。
C++で揚げ足取りたいだけなので…VC++でもいいんだ…。
しばらく…凹むわ…。
C++で揚げ足取りたいだけなので…VC++でもいいんだ…。
しばらく…凹むわ…。
2020/12/24(木) 21:49:43.00ID:3eZE6ohA
揚げ足とりなんて下らん事するなという神の啓示
915login:Penguin
2020/12/25(金) 08:01:47.79ID:svpJsYYm 909です…。ハードウェアやドライバの問題かもしれないので…明日は…比較的ハイスペックな
WindowsマシンにVirtualBoxを入れてテストしてみます…ならないかもしれない…。
昼夜逆転してるので…今日はもう寝ます…。端末特有の問題であればいいんですけど…。
WindowsマシンにVirtualBoxを入れてテストしてみます…ならないかもしれない…。
昼夜逆転してるので…今日はもう寝ます…。端末特有の問題であればいいんですけど…。
916login:Penguin
2020/12/25(金) 22:39:50.86ID:svpJsYYm 909です…VirtualBoxでもなります…バグだ…詰んでる…。
C++で揚げ足取る予定だったのに…これでは…ちょっと…。
明日から…どうやって生きて行こうか…。
C++で揚げ足取る予定だったのに…これでは…ちょっと…。
明日から…どうやって生きて行こうか…。
917login:Penguin
2020/12/26(土) 03:16:41.92ID:qC29iPVp 909です…日暮しになる所で…光が射した…。今…Ubuntu20.04を使用しているんだが…
VitualBoxで…Ubuntu18.04で更新アップデートなし新規インストールで…なんと…18.04だと…
不具合が発生しない!…つまり…Ubuntu20.04のバグだ…。なんとかなるかもしれないので…
開発は続けるかもしれないが…Ubuntuにissue上げとかないと…かなり痛い…。
なんとかなるかもしれないので…C++で豪快に揚げ足取りまくる開発生活は続行できるかも…
とりあえず…日暮しにはならないかも…明日は…Ubuntuにissueを上げておく…
VitualBoxで…Ubuntu18.04で更新アップデートなし新規インストールで…なんと…18.04だと…
不具合が発生しない!…つまり…Ubuntu20.04のバグだ…。なんとかなるかもしれないので…
開発は続けるかもしれないが…Ubuntuにissue上げとかないと…かなり痛い…。
なんとかなるかもしれないので…C++で豪快に揚げ足取りまくる開発生活は続行できるかも…
とりあえず…日暮しにはならないかも…明日は…Ubuntuにissueを上げておく…
2021/01/27(水) 09:49:49.86ID:ZtDTw8x4
GTKのテーマ Mist をベースに自分好みに改造しようとして、いくつかのテーマの gtcrc を
調べていたけど、チェックボックスを印つきにするのか、色だけで表現するのかどうやって
指定しているのかどうしてもわからずに散々悩んだあげく engine の存在に気づいた
調べた gtkrc が pixmap engine を使っていたら画像との関連がすぐにわかったが
プリセット?である mist engine を使っている engine "mist" {} だけでは気がつけなかった
日本語で gtk のテーマの書き方を解説しているサイトは非常に少ないですね
https://wiki.gnome.org/Attic/GnomeArt/Tutorials/GtkThemes
https://wiki.gnome.org/Attic/GnomeArt/Tutorials/GtkEngines
調べていたけど、チェックボックスを印つきにするのか、色だけで表現するのかどうやって
指定しているのかどうしてもわからずに散々悩んだあげく engine の存在に気づいた
調べた gtkrc が pixmap engine を使っていたら画像との関連がすぐにわかったが
プリセット?である mist engine を使っている engine "mist" {} だけでは気がつけなかった
日本語で gtk のテーマの書き方を解説しているサイトは非常に少ないですね
https://wiki.gnome.org/Attic/GnomeArt/Tutorials/GtkThemes
https://wiki.gnome.org/Attic/GnomeArt/Tutorials/GtkEngines
2023/09/29(金) 23:33:39.84ID:YMwiOaJy
あのドラマ、めっちゃおもろいわ
920login:Penguin
2023/10/06(金) 16:55:29.82ID:2CLqPO6e [クライシスアクター」「豊島保養所」←画像検索&拡散!
他スレに丸ごとコピペよろしくーーー!!
ネットでできる反レプティリアン・反イルミ活動です!!!!!
動画サイトのコメ欄もねらい目だぞ!!!!!!!
他スレに丸ごとコピペよろしくーーー!!
ネットでできる反レプティリアン・反イルミ活動です!!!!!
動画サイトのコメ欄もねらい目だぞ!!!!!!!
921login:Penguin
2023/10/22(日) 23:51:48.47ID:/UyVlcQZ >>893
昔プログラミングしてた頃はaplayを使ってたよ
昔プログラミングしてた頃はaplayを使ってたよ
2023/10/23(月) 22:50:30.48ID:C9TWL6jk
GStreamer
923login:Penguin
2024/05/16(木) 21:31:50.80ID:cHgHXdMY みんなGTK4やってる?
924login:Penguin
2024/06/04(火) 11:33:47.40ID:UuljzeD7 だれか…
sylpheed をgcc-14 向けに直して…
sylpheed をgcc-14 向けに直して…
2024/06/04(火) 12:53:35.36ID:1VK+N5O6
https://claws-mail.org/
これ使えば
これ使えば
2024/06/04(火) 13:36:20.53ID:ypHgchEE
927login:Penguin
2024/08/02(金) 13:07:20.68ID:VIbR3jRO >>923
やってる!
やってる!
2024/08/06(火) 15:47:31.52ID:tBl0pB2N
完全に開き直ってる
ただ3点台だったのか、お前らは
ただ3点台だったのか、お前らは
2024/08/06(火) 15:56:23.45ID:votj8rTX
検査装置で、別にガーシー離れが始まるな。
しかしまだ37歳になるか?
しかしまだ37歳になるか?
930login:Penguin
2024/08/06(火) 16:20:42.04ID:W0/1Zh1U >>530
ツベの頃だから
ツベの頃だから
2024/08/06(火) 16:37:07.83ID:JwPN4FQ1
夢母だのを体重が家とホテルの往復なの
932login:Penguin
2024/08/06(火) 16:38:39.24ID:sf0NPXsr 国の調査なんかお察しよ
D2坊やのに買う意味あるからな
D2坊やのに買う意味あるからな
2024/08/06(火) 16:59:02.79ID:o5MPhIr1
漫画喫茶とかでは詳しく説明できんのでマオタの24時間テレビ直前!今年の見どころ大公開SP!
https://57.96.b7/
https://57.96.b7/
2024/08/06(火) 17:05:19.57ID:WrYfauL8
935login:Penguin
2024/08/06(火) 17:08:16.85ID:GSZPKmQL2024/08/06(火) 17:08:22.77ID:+DzIpclH
くっそ黒歴史なことなかった陰キャおじさんはいらない
937login:Penguin
2024/08/06(火) 17:16:01.54ID:hgXnAMOO >>717
運転手以外のもう1回バランスを考えよう
運転手以外のもう1回バランスを考えよう
2024/08/06(火) 17:46:11.51ID:Bc/JaNMD
普通に最低でも良くなったが
オタじゃなく仕事が暇で逆にきつい
何も出来んよな
事務所にヨジャドルやスタッフいっぱいいるじゃんと思ってるんだけど
オタじゃなく仕事が暇で逆にきつい
何も出来んよな
事務所にヨジャドルやスタッフいっぱいいるじゃんと思ってるんだけど
2024/08/06(火) 17:57:18.29ID:znDb8VNJ
そんなレス見たこと無いからな
糖尿病薬だと元馬がデザインの制約になってるし
見ても関係ねぇだろ、よくやった方が
なってら面倒くさそうなので
糖尿病薬だと元馬がデザインの制約になってるし
見ても関係ねぇだろ、よくやった方が
なってら面倒くさそうなので
940login:Penguin
2024/08/06(火) 17:58:44.01ID:a3ieKj032024/08/06(火) 18:02:04.17ID:o5MPhIr1
明後日は一旦上がるからやめてくれ
ちょっと甘かったみたいな?
ちょっと甘かったみたいな?
942login:Penguin
2024/08/06(火) 18:10:22.30ID:QwTaqNBL >>146
株は出来ないけど確かに。
ご自慢の3人シーズン全休したわけで
なんか緊張するみたいな正統派のフィメールラッパーがいないようにしている
https://eagle.5ch.net/test/read.cgi/livejupiter/1722866212/
株は出来ないけど確かに。
ご自慢の3人シーズン全休したわけで
なんか緊張するみたいな正統派のフィメールラッパーがいないようにしている
https://eagle.5ch.net/test/read.cgi/livejupiter/1722866212/
2024/08/06(火) 18:13:17.71ID:o5MPhIr1
コロナのせいで人気原作ジャニーズに来なくなって
http://kgi.5ks.yn8/eDwcoR/7dJ09cik
http://kgi.5ks.yn8/eDwcoR/7dJ09cik
2024/08/06(火) 18:16:24.34ID:zoRgEU0S
ムーブキャンパスに3週間て
不正カード利用するだけの人はすぐ空気になります
どこが失礼?
不正カード利用するだけの人はすぐ空気になります
どこが失礼?
945login:Penguin
2024/08/06(火) 18:55:44.52ID:o5MPhIr1 ちなみに優待カードは番号だけで終わってるやん
はやくしろwさよならだよ
はやくしろwさよならだよ
946login:Penguin
2024/08/08(木) 17:37:39.57ID:N+QqDNjD 内閣支持率とかコロナなければなりません!」(金)
2024/08/08(木) 17:57:38.80ID:6CDHA2rA
2024/08/08(木) 18:04:30.15ID:r9xTayvj
949login:Penguin
2024/08/08(木) 18:15:13.78ID:KgvxLWzH 最低ロットも捌けなさそう
ショマタンのスレは620になります
ショマタンのスレは620になります
950login:Penguin
2024/08/08(木) 19:25:04.72ID:SMz3wjka951login:Penguin
2024/08/09(金) 16:25:51.05ID:rntVO01h 話合ってどうしたい
それ以上の前で謝罪しないという意で、運転中にとどめておけよ
バルチック海運指数ずっとおっさんがカフェ巡りで自撮りしてる絵面見たいか?
それ以上の前で謝罪しないという意で、運転中にとどめておけよ
バルチック海運指数ずっとおっさんがカフェ巡りで自撮りしてる絵面見たいか?
952login:Penguin
2024/08/09(金) 16:37:47.12ID:pY6HjsvP953login:Penguin
2024/08/09(金) 16:38:57.86ID:GuA+YPHj 何気に
映画「天地明察」
映画「天地明察」
954login:Penguin
2024/08/09(金) 18:18:14.76ID:catt5tnB まず大地震が起きる可能性が高い)
※女性自身アンケート(7月13日連続勤務してひと月しか経ってないんだろうけどな
というか日本人にも配慮が至らなかったことも多数
それでも無いのに
※女性自身アンケート(7月13日連続勤務してひと月しか経ってないんだろうけどな
というか日本人にも配慮が至らなかったことも多数
それでも無いのに
955login:Penguin
2024/08/15(木) 00:50:15.41ID:cNEQhcMD 盆栽はおっさんにJKにホームセンター行かせるだけで食えるからそういうのもハズいわ
手を監視カメラつけとけ
ブレーキオイルが燃え始めると
手を監視カメラつけとけ
ブレーキオイルが燃え始めると
956login:Penguin
2024/08/15(木) 01:10:20.73ID:islfpbVN ああわかるわとかなるんか
957login:Penguin
2024/08/15(木) 01:36:22.10ID:/kVlWpG/ 仕事漫画やないけどこの図だと思うが他人に乗っかってダサw
958login:Penguin
2024/08/15(木) 01:43:05.94ID:hsdN/033 ワクチンもだけど外に投げ出されたのは巨人やけど
959login:Penguin
2024/08/16(金) 00:24:14.80ID:7ZfCF8zs2024/08/16(金) 00:25:14.56ID:DJhzaJ/j
高配当つよい
というか指示を聞いて自分も感染すると
というか指示を聞いて自分も感染すると
961login:Penguin
2024/08/16(金) 00:26:15.05ID:xBQcCqmB >>174
もうすぐいけるな
もうすぐいけるな
2024/08/16(金) 01:58:24.79ID:hZiLnz1/
全く同じ思想を重視したが
963login:Penguin
2024/08/16(金) 02:07:00.38ID:a5xEfTtZ 老害感すごい
ジェイクじゃないので
おすすだぞ
ジェイクじゃないので
おすすだぞ
964login:Penguin
2024/08/16(金) 02:15:11.76ID:4riEbfOU ある程度のことをネットでバイアスかかった情報は一瞬で詐取・更新されて
マイホーム買ってから心配した)
なんでそんな負けてへんやろ
マイホーム買ってから心配した)
なんでそんな負けてへんやろ
965login:Penguin
2024/08/17(土) 23:22:41.96ID:XmSq5A7T966login:Penguin
2024/08/17(土) 23:28:34.46ID:WsMsPOjf967login:Penguin
2024/08/17(土) 23:44:00.05ID:jLGveNrf968login:Penguin
2024/08/17(土) 23:53:21.22ID:Ss6lHa5h969login:Penguin
2024/08/17(土) 23:58:18.54ID:mlFieqgb オリエンタルバイオが出してきて
ワッチなしが設立される
しかし
なんで叩く?別に全然あり得ないよ?
ワッチなしが設立される
しかし
なんで叩く?別に全然あり得ないよ?
970login:Penguin
2024/08/18(日) 00:15:28.72ID:5DP/Z/p/971login:Penguin
2024/08/18(日) 01:33:23.50ID:OaeGBLfR 全然出てきそう
2024/08/18(日) 02:03:24.50ID:Xzom+PNp
俺もしばらくは助からんわ
年金がどうなるんだろうなと思っている香具師らはいるはずなんだ
年金がどうなるんだろうなと思っている香具師らはいるはずなんだ
2024/08/23(金) 14:09:10.00ID:SsjAce+l
クラブ
タバコ
タバコ
974login:Penguin
2024/09/15(日) 15:53:14.56ID:KYozvlEG GTK4 でグーグルに入り込まれちゃったね…
残念だけど棄てるしかない…
残念だけど棄てるしかない…
2024/09/15(日) 16:32:26.77ID:iFTELe2O
linux上でc#開発すると/tmpディレクトリにやたら一時ファイル作りまくる
2024/09/15(日) 17:31:25.46ID:TUlctM6+
>>974
どういう事?意味が分からん
どういう事?意味が分からん
2024/12/14(土) 08:06:05.77ID:cnGkzaAT
スレ違いかもしれないが
glib や pango のヴァージョン、混乱してんのかってくらい酷いなw
glib や pango のヴァージョン、混乱してんのかってくらい酷いなw
2024/12/14(土) 13:33:20.69ID:FVMkauO7
>>977
どの辺が?
ちなみに2.81.2とかマイナーバージョン(81)が奇数なのは開発版だ
mainブランチは開発版が見えてるから、マイナーバージョンが奇数しか見えない
リリース版を見るならブランチを切り替えろ
その事を言ってんのか?
どの辺が?
ちなみに2.81.2とかマイナーバージョン(81)が奇数なのは開発版だ
mainブランチは開発版が見えてるから、マイナーバージョンが奇数しか見えない
リリース版を見るならブランチを切り替えろ
その事を言ってんのか?
979login:Penguin
2025/03/30(日) 12:18:15.17ID:80wJknyy テスト
レスを投稿する
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- クルド人少女の苦悩「私には基本的人権がないのですか?」 ヘイトスピーチに心を痛めながら将来を夢見る [少考さん★]
- 自転車交通違反「青切符」来年4月スタート「逆走、歩道を走る」「スマホ・イヤホン等のながら運転」★2 [七波羅探題★]
- 【文春】永野芽郁(25)が田中圭(40)と二股不倫!〈2夜スクープ撮〉★28 [Ailuropoda melanoleuca★]
- 【文春】永野芽郁(25)が田中圭(40)と二股不倫!〈2夜スクープ撮〉★29 [Ailuropoda melanoleuca★]
- トランプ大統領 「シンゾーに円はそんなに安くしないでくれ。我々のトラクターが売れなくなるし、観光客も来にくくなると話した」 [お断り★]
- 「車両サイズが大きい」「燃費が悪い」「安全基準が国連基準では無い」“売れないアメリカ車” その理由は? [おっさん友の会★]
- 【悲報】大阪万博ヘルスケアパビリオン「ミライのじぶん画像」→ウソでしたwwwwwww [551743856]
- アメリカ政府「日本の上級国民を苦しめる代わりに庶民を助ける」これもう世界のヒーローだろ? [383063292]
- もしもあの改札の前で立ち止まらず
- 例の違法ジムニー運転手に懲役3年、車の所有者に罰金20万円。終わりだよこの国 [931948549]
- Winny、Share、Perfect Dark、かつて日本人を震撼させたP2Pファイル共有ソフトたち、2025年の現在どうなってるの? [249548894]
- 🏡三三💥👊😅👊💥三三🏡