GTK+プログラミング at LINUX
[2ch|▼Menu]
[前50を表示]
750:login:Penguin
12/09/11 19:25:22.84 AmLZmZH+.net
取り敢えずgtk_main_quit()

751:login:Penguin
12/11/27 12:00:27.00 Mwv1yHjg.net
UbuntuでPyGTKを利用してアプリケーションを作っているのですが、一部パーミッションが与えられていないファイルへの書き込みを行いたいと考えております。

Ubuntu Software Centerからアプリケーションをインストールしようとすると、Authenticateというポップアップが出てきてパスワードを入力するとsudoの様にアプリケーションのインストールができますが、これはどのように実現しているのでしょうか?

自分でも書き込めるようにパーミッションを変更していることを前提にしているのですが、変更方法を知らない人や、一々変更した後にアプリケーションを起動するのが煩わしい人向けに、アプリケーションからsudoのようなことができないかと考えております。

752:login:Penguin
12/11/27 23:24:04.63 p3EAvFxY.net
>>751
pyは使えないのですが、この話はGTKのスレの質問でしょうかね?
Cだったらstatとchmod使うところじゃないかと。

753:login:Penguin
12/11/27 23:44:47.91 2Faa51y/.net
>>751
もしかして:gksu

$ sudo command
のかわりに
$ gksu command
ってやると
GUIでパスワード聞かれる

754:login:Penguin
12/11/28 00:24:58.73 JU9FPiAT.net
口下手な>>753は、gksuを参考にlibgksuを使えと言いたいんだな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?

755:login:Penguin
12/11/28 16:35:00.90 a6DQ5WYq.net
polkit

756:login:Penguin
12/12/02 14:08:52.19 jmMYkF+D.net
>>754
ナイス翻訳

757:login:Penguin
13/02/09 09:31:18.23 cnWShbXp.net
質問させてください。
gtkmm2.4ベースでプログラムをいじっているのですが、画面操作せずにGtk::Dialogを閉じる方法が分かりません
Dialog作成→threadで特定の処理を開始→処理終了→※Dialogを閉じる(画面操作せずに)
と言う流れをプログレス表示などをして処理したいのですがrunした後にresponseをしてもhideしてもDialogが消えません
根本的に分かっていないのでしょうが・・・上記のような処理をするにはどうしたら良いのでしょうか?

758:login:Penguin
13/03/07 14:11:29.83 QnTnog/x.net
こう書く方法ないかな?
public class Window :Gtk.Window{
}

759:login:Penguin
13/03/07 16:21:44.64 19LddT7Q.net
>>758
valaをつかえばいいと思うよ

760:login:Penguin
13/03/08 18:55:04.44 Eqvj3fL9.net
vala優秀そうだね
でもwindowsでも使いまわしたいのでmonoから外れたくない

761:login:Penguin
13/03/13 09:34:23.06 EMo1WQCk.net
>>760
valaはwindowsでも普通に使える。

762:login:Penguin
13/03/23 10:23:11.54 PyYsgXcc.net
Gtk::Dialogはon_delete_eventを呼ばないのですか?
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら

763:login:Penguin
13/03/23 16:14:11.15 oI1eFSYR.net
ちょっとチャレンジしてみることにしました
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。

お手軽に描写の綺麗なプログラムが書けるってことは素晴らしい。

764:762
13/03/23 16:55:08.61 PyYsgXcc.net
結局add_buttonで追加したボタンを使うのではなく、アクションエリアに普通のボタンを追加し、
connectしたメソッドで処理チェックを行なった後にresponseでIDを投げる事で一応動きは出来たみたいです。
もっと簡単な方法はないですか?

765:login:Penguin
13/05/07 16:10:42.57 6dLQJSLO.net
ちょっとスレチになるかもなんですけど、GTK使われたアプリをWindowsで自動操作したいのですが
WM_LBUTTONDOWNなどで座標を直接指定でやってるんですけどMenuBar以外が反応してくれないです
どうすればいいでしょうか?

766:login:Penguin
13/05/10 02:01:44.26 Jlh16O1w.net
Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww
スレリンク(poverty板)

767:login:Penguin
13/07/03 NY:AN:NY.AN 5x5esxXj.net
FreeWnn スレッドより:
スレリンク(unix板)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だけ置き換えればよい。

ソースにバグありとみた。

768:login:Penguin
13/09/23 01:43:22.12 pt1QWlbc.net
URLリンク(www.tarnyko.net)
ここでWindows版のBroadway実行環境を配布してたから試してみたけど
遅くて使いものにならん…
asm.jsは良い感じなんで、GTK+アプリをそのままasm.jsにコンパイルして
ブラウザで実行出来るようにしてくれたら最高だがな。

769:login:Penguin
13/10/24 11:46:06.77 YHoA8g0Q.net
同一アプリ上で、IconViewからFrameとかImageへDrag & Dropって
可能なんでしょうか・・・。

そんな感じのサンプルをご存知でしたら教えてくださいm(_ _)m

770:769
13/10/25 16:54:19.59 2AmnlVsx.net
すみません、>>769は出来るようになりました。
drop側の設定に問題がありました。

ところで、Imageから別のImageへのDrag & Dropは可能なんでしょうか。
Dragしても、IconViewの時のようにカーソルが変化しません・・・。

771:login:Penguin
14/05/24 01:19:23.19 3aXipg2f.net
pulse()

URLリンク(developer.gnome.org)
URLリンク(developer.gnome.org)

772:771
14/05/24 09:12:07.41 ESO9FbEd.net
>>771
それアクティビティモードというのと違う?
ナイトライダーをしたいわけではないんよ・・・

773:login:Penguin
14/05/24 12:34:03.59 3aXipg2f.net
>>771,773
set_fraction() で、その都度増分を変えて、すぐ更新したいってこと?
queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら?

774:771
14/05/24 14:58:12.72 ESO9FbEd.net
>>773
はい、その通りです。お付き合い頂き有り難う御座います。
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 );
}

775:login:Penguin
14/05/24 16:46:51.13 3aXipg2f.net
おそくなってゴメン、こんな感じでどうでしょう?
URLリンク(www.dotup.org)
>>771 であげたチュートリアルのコードをいじったものです。

SpinButton の値を 0 から 100 (%)までの任意の値に変更して "Update" ボタンを押すと
ProgressBar の状態が変化します。

examplewindow.cc の on_button_update を見れば分かるかと思います。

776:login:Penguin
14/05/24 17:31:46.88 3aXipg2f.net
あれ? queue_draw() いらねーな。w

777:771
14/05/24 22:15:14.18 SrMGc3rQ.net
>>775
コードまで書いて頂き有り難う御座います。
コンパイルして動作を見ましたら、進捗状況の変化を確認できました。
しかしながら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 );
}
}

778:771
14/05/24 23:11:20.28 SrMGc3rQ.net
なんかそれっぽい動きになったけどこれでいいのかね・・・イベント強制執行みたいな

[変更前]
m_ProgressBar.queue_draw();
sleep( 1 );
[変更後]
usleep( 50000 );
while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true );

779:login:Penguin
14/05/24 23:56:02.23 3aXipg2f.net
タイマー使って処理させるとか
URLリンク(www.dotup.org)

780:771
14/05/25 10:38:49.48 OwNsCCvJ.net
タイマーか〜処理がスパゲッティーになりかけているから使いづらいんだよね
アクティビティモードの時は使いやすそう。
今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな

781:login:Penguin
14/05/25 13:02:49.60 ujxKETx8.net
URLリンク(stackoverflow.com)

782:login:Penguin
14/06/08 10:20:05.83 kFAavqfc.net
ComboBoxでドロップダウンアイテムを選択した時に発生する
イベントってなに?

783:login:Penguin
14/06/08 17:33:49.75 lVyy6Wyn.net
signal_changed()

784:login:Penguin
14/09/22 18:34:36.01 eWn3ghjY.net
本当は先にこっちへ書くべきだった。
gtk_mode
gtk_fashion
gtk_style
gtk_pattern

785:login:Penguin
14/10/03 20:31:58.89 3j8hGaDn.net
みなさん、人工言語の
高級低級の長所短所のチンチンはご存知?

786:login:Penguin
14/10/04 21:22:31.83 PLRFhsu2.net
>>785
日本語でOK

787:login:Penguin
14/10/05 09:12:43.76 6cVZzLYB.net
技術系スレには自分で人口無能を作っちゃう人もいるからな。
>>785が人間とは限らないよ

788:login:Penguin
14/10/05 12:54:17.13 8NkrJ1Fe.net
かわいいかっぽれ

789:login:Penguin
14/10/05 14:16:26.58 8NkrJ1Fe.net
人の嫌がる事をすすんでしましょう

790:login:Penguin
14/12/27 20:58:23.25 FwEwRAao.net
すみませんが質問させてください
gtkmmでボタンを作りボタンを押された時にソケットで通信しようとしたのですが
select関数をした時に「リソースが一時的に利用できません」と出てしまい動きません
コンストラクタでselect関数を使うと動くのですが・・・
gtkmmに通信を阻害する要因とか有るのでしょうか?

791:login:Penguin
14/12/28 23:07:33.76 aGqgOq87.net
学校の課題でシューティングゲーム作ってるんですが、cairoで表示した複数の画像の手前、奥の位置関係を変えることってできますか?

792:login:Penguin
14/12/29 00:51:05.82 13XuaNya.net
はい。

793:login:Penguin
16/01/23 21:11:40.92 XkMlkiDd.net
昨日からC+GTKでプログラム作ってるんだけど質問。treeviewでリスト表示してる状態で、キー入力すると、
なんか入力ボックスが開いて入力させるんだけど、これを止めさせる方法がわからない
表示だけさせたいんで、編集できるかも?って感触を持たせたくない
エラー表示させる積りはないけど、無視したい
多分、単純な事なんだろうけど...

794:login:Penguin
17/02/04 12:26:02.78 KMsE1Vqa.net
>>793
既に解決してるかもしれないけど
GtkTreeViewのプロパティにある「検索可能」フラグをOffにすればよいみたい

795:login:Penguin
17/02/12 13:51:10.49 +yRaNQxe.net
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も疑ったのですがこちらは関係ないような気がします)
提示する情報が分からず情報不足かも知れませんが宜しくお願いします

796:796
17/02/12 17:47:04.39 +yRaNQxe.net
コールバック関数内で描画に関わる関数を呼んで、その次にPixbufを取り出す関数を読んでたのですが
どうもコールバック関数が終わるまでイベントが処理されないようでした
強制的にイベントを処理する下記コードを追加して上手く動く様になりました
while( Gtk::Main::events_pending() ) {
Gtk::Main::iteration( true );
usleep( 1000 );
}
出来ればDrawingAreaに描画しなくてもPixbufを取り出せると良いのですが・・・
(Pango::Layoutあたりから直接画像イメージを作れないでしょうか)

797:login:Penguin
17/05/24 13:46:02.74 TLlefqX7.net
GTKってどうなの?
GTKかQtkかなんやんでQtにしたんだけど(当時kdevelopってQtの開発環境があったんだよね、今もあるけど)。

798:login:Penguin
17/05/24 14:19:50.72 pbxEBOft.net
今からやるならQtのほうがいいんでね?
これからGTK+4で阿鼻叫喚になるのと対照的に、Qt5へ移行したばっかだし

799:login:Penguin
17/05/24 14:29:06.20 TJNNAVtb.net
>>797
ウインドウ内でうねうね動かせて視覚効果高いのがのがQt。Qtならゲームも作れる。
そうゆうの全く無理で地味でも、ちょうど良いコンパクトサイズのボタン等が充実しててツール作ったりするのに適してるのがGTK。

800:login:Penguin
17/05/24 18:53:21.69 cGg4zBc+.net
GTK+4以降では、「安定なAPI体系はハナから持たない」って認識でいいの?
ffmpegのように絶え間なくAPIが変化し続けることになる?
で、バージョン番号もブラウザのようにうなぎ上りになるのか

801:login:Penguin
17/05/24 20:06:41.07 PSOKRtb/.net
URLリンク(blogs.gnome.org)
2年ごとにメジャーバージョン更新
最新のメジャーバージョンは開発中につき不安定
各メジャーバージョンの最終版=安定版としたいらしい

802:login:Penguin
17/05/24 22:24:13.70 0wlGVdsK.net
なるほど
ffmpegほどキ○ガイな方針ではないのね

803:login:Penguin
17/06/24 15:36:13.60 J/+rjWu3.net
java の JList みたいなことはできる?
どういうのかというと、参考画像
URLリンク(docs.oracle.com)
リストのアイテムがテーブル上に並んでいて、
上下左右にカーソル移動できる。
GTK だとないかな?

804:login:Penguin
17/06/24 17:57:54.57 cdtIIsj7.net
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()

805:804
17/06/26 15:14:10.11 y5aZk+CQ.net
>>804
なるほど、IconView でテキストか。
できたできた、
どうもありがとう!

806:login:Penguin
17/07/04 04:00:58.40 Rpvk2+Dl.net
gtk勉強しようかと思うんだけどもうオワコン?
でもQtバインディングよりgtkバインディングのほうが多いしなぁ...
gtk4で大幅に進化したりしないかな

807:login:Penguin
17/07/04 13:24:32.59 8Z5Rtw2V.net
両方やってみればいい
考えてるほど時間も労力も掛からないよ

808:login:Penguin
17/07/11 15:53:30.96 9jKfhw2z.net
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() でざっくりで指定しないとダメかなあ。

809:login:Penguin
17/07/11 21:23:00.28 w3xO5s8F.net
>>808
直接の答えは分からないけど、何の工夫もせずにやったらボタンが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;
  }
}

810:login:Penguin
17/09/24 13:44:57.02 AWmycg5C.net
toolbar に付いている「つまみ」
(アプリでよくある「toolbar を固定する」みたい感じなのをオフにすると現れる、持つ部分?)
あれは GTK+ では、どうやって出すのでしょうか?

811:login:Penguin
17/09/24 23:45:06.00 PwTxDy1k.net
GtkHandleBoxならdeprecatedだぞ

812:login:Penguin
17/09/25 09:15:38.26 bLbAubVC.net
VTEのspawnなんとかのAPIはいつになったらファイナライズされるのかね(怒

813:login:Penguin
17/10/05 21:14:42.06 c3KsIY0h.net
gtk4が気になってgtkの勉強始めようと思うんだけど初心者は何から始めるのがおすすめでしょうか?

814:login:Penguin
17/10/10 12:36:19.63 d/a7Ir8S.net
python3+gtk3で作るに際し
IDE (統合環境)みたいなのってある?
そう大げさなものでなくてよくて
コード補完(gtkのメソッドの)が
出来ればいいかなぐらいの感じなんだけど
もしくは大抵何が使われているのか

815:login:Penguin
17/10/10 15:06:28.56 6wfTcDmJ.net
pycharm

816:login:Penguin
17/10/10 15:07:12.53 6wfTcDmJ.net
あるいはvscodeにpythonプラグイン入れれば出来るかな

817:login:Penguin
17/10/10 21:08:41.65 d/a7Ir8S.net
>>815-816
thank you

818:login:Penguin
17/10/15 20:41:28.01 IZYKuyT8.net
補足だけどpycharmでgtkの補完を行うにはちょっとした作業が必要みたい
URLリンク(stackoverflow.com)
vscodeのほう(というかjediという補完ツール)も何かしら方法はあるっぽい?

819:login:Penguin
17/11/01 06:36:53.25 6RRJjvM+.net
#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;
}

820:login:Penguin
17/11/01 06:37:32.12 6RRJjvM+.net
続き
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);
}

821:login:Penguin
17/11/01 06:37:57.41 6RRJjvM+.net
続き
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);
}

822:login:Penguin
17/11/01 06:38:38.92 6RRJjvM+.net
続き
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;
}

823:login:Penguin
17/11/01 06:39:29.00 6RRJjvM+.net
続き
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);
}
}

824:login:Penguin
17/11/01 06:39:49.40 6RRJjvM+.net
最後
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;
}

825:login:Penguin
17/11/01 12:30:43.16 MSa06+/w.net
gtkmm っていう C++ のバインディングがあるんだけど,2011 年で 3.0 が出たきり更新の音沙汰がない。
C++ 向けの GTK+ バインディングでおすすめある?

826:login:Penguin
17/11/01 13:02:49.11 A1HFLP/N.net
事実上それしかないのでは

827:login:Penguin
17/11/01 13:24:04.75 JjdAGBri.net
>>825
音沙汰ないのは gtkmm.org だけみたいだよ
URLリンク(github.com)
URLリンク(developer.gnome.org)

828:login:Penguin
17/11/01 16:12:00.92 1oQnySzL.net
gtkmmはgtk4に向けてc++14対応もしてるっぽいし結構期待してる

829:login:Penguin
17/11/01 16:16:36.47 A1HFLP/N.net
ぼくも(^o^)

830:826
17/11/01 17:32:31.31 MSa06+/w.net
>>826
>>827
ありがとうございます。GNOME のリポジトリはついぞ覗いていませんでした。これで安心して使えます。
しかしパッケージマネージャで入手できる gtkmm が 2.4 と 3.0 というのはちょっと心許ないですね……。
誰か PR 投げてくれないかなぁ〜 (他力本願)

831:login:Penguin
17/11/01 18:17:48.95 eYINtNrh.net
>>830
2.4とか3.0とかはgtkmmの互換性での番号だと思うけどどうして心許ないの?

832:login:Penguin
17/11/01 18:19:19.00 A1HFLP/N.net
>>830
ためしに手元のUbunut 17.04 でバージョン見たら
Version: 3.22.0-1
ってなっとるでな

833:login:Penguin
17/11/01 18:55:06.19 1oQnySzL.net
gtk4が出るまでqt勉強する

834:login:Penguin
17/11/01 18:56:39.83 1oQnySzL.net
gtk4が出たらJD書き直そうや
いつまでもgtk2じゃ駄目でしょ
最近のgtkはカラー絵文字にも対応してるようだし

835:login:Penguin
17/11/01 19:11:17.65 6RRJjvM+.net
>>819はGTK+3でBITMAPを表示する方法がわからなかったので
ネットで調べてとりあえず作ってみたものです
それとgtk_widget_queue_draw()をスレッド側で使う場合
下記のようにしないとダメなようです
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();

836:login:Penguin
17/11/01 19:12:33.94 6RRJjvM+.net
デモとして違うのも作ってみました
>>819-824のプログラムのthread_func()関数を下のものに差し替えてみてください
static gpointer thread_func( gpointer data){
int i, j, col, i1, depth;
double xgap, ygap, xx, yy, a1, b1, x1, y1, tmp1, x2, y2;
double xcorner, ycorner, length;
cairo_t *ic;
int count01;
struct {
double xcorner;
double ycorner;
double length;
} param[8];
param[0].xcorner = -1.785666666666666e+000; param[0].ycorner = -2.508333333333312e-002;
param[0].length = 5.000000000000000e-002;
param[1].xcorner = -1.759984700520832e+000; param[1].ycorner = -1.518603515624978e-002;
param[1].length = 9.765625000000001e-005;
param[2].xcorner = -1.759906697591145e+000; param[2].ycorner = -1.515360514322895e-002;
param[2].length = 6.103515625000000e-006;
param[3].xcorner = -1.759901244004566e+000; param[3].ycorner = -1.515219028790770e-002;
param[3].length = 4.768371582031250e-008;
param[4].xcorner = -1.759901209723814e+000; param[4].ycorner = -1.515217680089193e-002;
param[4].length = 5.820766091346741e-012;
param[5].xcorner = -2.112213541666665e-001; param[5].ycorner = -7.939140624999994e-001;
param[5].length = 1.562500000000000e-003;

837:login:Penguin
17/11/01 19:13:17.37 6RRJjvM+.net
続き
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;

838:login:Penguin
17/11/01 19:13:57.79 6RRJjvM+.net
終わり
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;
}

839:login:Penguin
17/11/01 20:23:13.63 1oQnySzL.net
コードは別のところに貼ってくれ

840:login:Penguin
17/11/01 20:39:13.35 A1HFLP/N.net
一般的なペーストビン使えば?

841:login:Penguin
17/11/01 20:49:04.40 MSa06+/w.net
GTK4 で JD 書き直すの?

842:login:Penguin
17/11/01 21:10:52.50 e2sx/G8f.net
2chでコード貼ると権利関係の問題が生じるから
普通は貼らない。
これ常識。

843:login:Penguin
17/11/02 07:34:01.28 DIoOuVfO.net
GTK+4から>>800-801の方針らしいので今GTK+使うなら3系が無難だと思う

844:login:Penguin
17/11/02 18:51:47.91 hOMy/o9B.net
本来なら、ソフトウェア板のGEditスレで聞くはずなんだろうけど、あまりにあっちのスレは心許ないので、こちらで聞かせて。
まず、GEditでAlt+n(nは1とか2とか3とかの番号)のショートカットキーを入力すると
現在開いてるタブの中から該当する番号のエディタタブをアクティブにしてくれるんだけど。。
URLリンク(help.gnome.org)
GEditのWordCompletionっていうプラグイン使ってるんだけど、
これはオートコンプリートみたいに単語を入力候補の中から選んで入力支援作業をしてくれるプラグインなんだけど、
数ある候補の内から番号を選択して入力しようと思うとCtrl+Alt+n(nは番号)なんだけど、
GEditの公式ページにはAlt+nで良いって書いてある。
URLリンク(help.gnome.org)
自分としては使う機会が明らかにWordCompletionの方が多いから、逆の方がスゴイ都合いいんだけど、
現在GEditのショートカットキーを変更するのはスゴイ難しいっぽい(昔はプラグインとかあったみたい)。
ググッて出てくる~/.config/gedit/accel の変更もスゴイ難しい・・・。誰か分かる人がいたら教えて。よろしく。

845:login:Penguin
17/11/02 19:59:46.62 88fKOOJi.net
>>844
スレ違いと分かってて書くし使ってるディストリやバージョンは書かないし…
Fedora25の gedit3.22だとAlt+番号で
候補が出ているときはword選択、出てないときはタブ切り替えになる

846:845
17/11/02 22:59:36.25 hOMy/o9B.net
>>845
すみません。まず、スレ違いの点ですが、
ソフトウェア板にLinuxユーザ(GEditはほとんどがLinuxユーザでしょう)がどれだけいるか甚だ疑問ですし(WindowsユーザでGEdit使ってる人はほとんど詳しくないでしょうし、
Linux使いよりも多分詳しくないと思われます)、そういう理由でこちらに質問させてもらいました。
環境によっても違うんですね・・。それは知りませんでした、すみません。
自分はUbuntu16.04LTS、GEditのバージョンは3.18です。
>>845様のFedora25、GEdit3.22の場合はスゴイ良い動き方をしますね。スゴイ羨ましいです!その様な動作の仕方が理想ですね。。マジで大変うらやましいです。
ご回答ありがとうございました。

847:845
17/11/03 00:02:30.59 RlVX2BAD.net
UbuntuSoftwareにあったGEditを3.22だったので、インストールしてみたら
日本語対応まだしてなかったみたいです。
プラグイン選択とかファイル選択ダイアログは全部文字化けです・・。

848:login:Penguin
17/11/03 02:45:39.77 PPg57U6Z.net
Web ブラウザとかの「名前を付けて保存する」みたいな機能を使用した時に出る,
ファイルの名称と保存先を決定できるポップアップダイアログって,どこが出しているか分かりますか?
GTK+ のテーマを継承していたり「最近開いた項目」があったりするので GVfs あたりかなと予想しているのですが。
そしてあのダイアログを自分の好きなプログラムに置き換えることは可能でしょうか。

849:845
17/11/03 06:44:11.70 l5oC3qKd.net
Ubuntu特有のHUDやらAltでウィンドウメニューをアクティブにする動作のショートカットキーがどうも影響してるみたいです。ショートカットキーを変更してみましたが、時々反映されるまで時間とタイミングがかかるので、もうちょっと待ってみます。ありがとう。

850:login:Penguin
17/11/03 11:20:54.57 Nq/vIn19.net
>>847
ならubuntuスレで聞くべき案件

851:login:Penguin
17/11/18 15:11:28.29 ayWF6KV7.net
スレリンク(linux板:819番)-824
のプログラムを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)

852:login:Penguin
17/11/18 15:12:15.71 ayWF6KV7.net
        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()

853:login:Penguin
17/11/18 15:12:48.56 ayWF6KV7.net
        #色を指定(塗りつぶし: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()

854:login:Penguin
17/11/18 15:40:31.44 b18MsuCQ.net
>>851
2chにコードを貼ると権利が2ch側に譲渡されるのでpastebinなどを使いましょう。

855:login:Penguin
17/11/19 03:25:08.61 s1HDk3bJ.net
一般的なペーストビン使ったらいいと思う

856:login:Penguin
17/11/23 09:36:01.93 0dqzQ9+I.net
>>836-838をPythonで書いてみました
コードは下のサイトで公開してます
URLリンク(pastebin.com)
PyGObjectを各プラットフォームにインストールするには
URLリンク(pygobject.readthedocs.io)

857:login:Penguin
17/12/25 03:03:03.86 gvoWVmMo.net
初歩的な質問ですみません。
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の設定で見逃している部分があると思い調べているのですが見つかりませんでした。
どうすれば解決するのか教えてください。

858:login:Penguin
17/12/25 03:19:48.60 gvoWVmMo.net
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;
}

859:login:Penguin
17/12/25 06:27:37.33 gvoWVmMo.net
858です。
window1 GtkBox
|__box1 GtkBox
|____textview1 GtkTextView
|____viewport1 GtkViewport
|______button1 GtkButton
textview1のパッキングタブで、展張をONで試したら上手くいきました。
画像ファイルが失敗した理由は分かりませんでしたが、他のwidgetでは成功しました。

860:login:Penguin
17/12/25 06:29:41.36 gvoWVmMo.net
×…window1 GtkBox
○…window1 GtkWindow

861:login:Penguin
17/12/28 23:15:58.83 3uyy4+Dz.net
Gtkmmってあんなに良いのに、なんで全然流行ってないの・・?VisualC++はおろか、Qtなんかよりよっぽど良いじゃん。
もっとはやってクレヨン!!他のC++GUIライブラリがあるか知らんが、VC#、VC++、Qtより俺は断然遥かに好きだな。
簡易言語は面白くないので、無しで。VB6くらいやっててワクワクするぜ!

862:login:Penguin
17/12/29 13:15:34.46 S/CsVkMC.net
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
L23RPOWZ2H

863:login:Penguin
18/01/02 03:40:15.04 F38ZCjdE.net
こんなウィジェットある?
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)

864:login:Penguin
18/01/02 10:19:34.46 SmVe6Gd0.net
>>863
面白いな

865:login:Penguin
18/01/02 12:28:18.29 ejbpDk09.net
>>863
一つ目の方なら頑張れば使えそうな気がするけど2つ目は無理ゲー
ミュートできないじゃん

866:login:Penguin
18/01/02 16:36:35.82 BIlvYLfT.net
普通にスタイル変えたスライダーに見える

867:login:Penguin
18/01/15 17:16:03.76 fkabkrJp.net
>>792-793 2015年書き込み 0
>>794 2016年書き込み 1
2017年 68
何故か2017年はGTK+大躍進の年だった!!!!

868:login:Penguin
18/01/28 23:35:06.91 iGCLkti0.net
あの、すごく素人な質問なんだけど、
GTK+3ってGNOMEが主に採用してるツールキットだよね。
ということは、ウィンドウの装飾がGNOMEデスクトップのそれになるってことかな。
上下に幅が広いウィンドウタイトルは嫌なんだけど、どうなんだろう。あの高さって調整できるんだろうか。

869:login:Penguin
18/01/29 00:03:00.38 GKNlaBKy.net
テーマに従う

870:login:Penguin
18/02/04 14:47:47.61 QeG1ckHC.net
TextViewのテスト用に作ってみました
ソースコードはpastebinに貼り付けてみました
エラトステネスのふるい Python版
URLリンク(pastebin.com)
エラトステネスのふるい C言語版
URLリンク(pastebin.com)

>>856にTextViewを追加してみました
マンデルブロート集合 Python版
URLリンク(pastebin.com)
マンデルブロート集合 C言語版
URLリンク(pastebin.com)

871:login:Penguin
18/02/06 19:44:30.02 LsU5FPdR.net
>>870はGTK+3でPythonはPython3です
PyGObjectを各プラットフォームにインストールするには下のURLを参照してください
URLリンク(pygobject.readthedocs.io)
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は実行ファイル名なので任意の名前に変更してください)

872:login:Penguin
18/02/12 22:22:17.34 +qmPP7OK.net
FontForge っていうアプリケーションって GTK テーマには対応してないんですか?
黒系のテーマにしてるんですけど,FontForge には反映されてないっぽいんですが…

873:login:Penguin
18/02/27 22:26:33.46 KMCxop2+.net
>>870-872
皆さん、お疲れ様です。
Gtkも面白くて最初けっこうやったけど、なんしろ参考書籍が少なすぎる・・。
特にGtkmmに至っては0・・・。ネットのドキュメントや英語サイトを貪っても情報量は少ない・・・
Gtk面白いから、書籍が出ればもっと人気でるんだろうけどなあ・・・
Qtでさえ、分厚いオライリーの本2冊と小さい本とQtQuickの本がある。
まぁQtQuick以外はQt4対応だけど、Ubuntu入れてれば、apt-get で QtCreator込のQt4環境が
余裕で手に入るからなあ・・・ もちろんQt5環境も簡単に手に入るけど・・・
GtkもPythonバインディングやRustバインディングもあるんだし、だれかなんとかして書籍だしてくれないかな・・

874:login:Penguin
18/02/27 22:42:01.38 SXflemsb.net
PC初心者時代は書籍をありがたがったけど数年でその時期は去ったな
マニュアル類を読めば大抵のことは書かれてるから基本的に書籍いらんしな

875:login:Penguin
18/02/27 22:44:20.35 vsNBSr66.net
まあこう言った理由で新しい人は入って来ず、結果流行らない訳ですw

876:login:Penguin
18/02/28 03:42:44.26 c4j2ATnA.net
新しい人はチュートリアルやっておけば取っ掛かりは十分だよね

877:login:Penguin
18/02/28 21:05:10.44 M8ckEWeS.net
>>873
書籍にまとめるにはある程度の範囲に渡って網羅し、記述に矛盾が無いことが求められる
作成コストが高い
それよりも、ユーザが気になっている部分を1つずつ調べて、分かった所があればブログ等にまとめればよい
無矛盾性が要求される範囲が小さくなるので作成コストを低く出来る
広まってほしいと思うのなら、使っている人間が一人一人動かないとどうしようもない

878:login:Penguin
18/03/02 18:43:51.79 VWhGnlbA.net
みんなばらばらのLinuxの世界

879:login:Penguin
18/03/08 11:46:28.58 ZZm3j3TZ.net
た、多様性は正義だから…(震え声)
でもgtkmmの文書の少なさはちょっと異常な気がする。使われてる規模に比べてね。

880:login:Penguin
18/03/22 22:15:22.48 okeyq8e9.net
Mousepadって[Alt]キーを押しながら開くメニューの上で項目を選択して、
[Ctrl]+[<anykey>]とやるとその項目にそのショートカットが割り当てられるんだな。
これGtk+3の機能なのかな。他のXfce4使ってるんだけど、アプリケーションではならんかった。

881:login:Penguin
18/05/22 07:49:24.99 Czl6p0FW.net
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
JG11H

882:login:Penguin
18/06/07 14:43:39.32 63GNIF9F.net
すみません。GtkからMySQLやSQLiteに接続したいと思ってるんですが、
普通にLinuxプログラムでMySQLなどに接続する方法もあるけど、GNOMEDBっていうのもあるらしく
GtkやGtkmmから接続しようとすると、どうもGNOME側はGNOMEDBを使えみたいな感じがするんですが
参考URLも外国語含めて少ないので、困っています。
普通のLinuxプログラムでデータベースに接続するような感じでGtkから使ってみてもいいですよね?

883:login:Penguin
18/06/15 15:09:38.02 uRfp5dHV.net
Gtk+を勉強してると外国語も含めて情報ページが少ないんですよ。
でね、やってるうちにGtkmmもPyGtkも覚えちゃうんですよw
さすがに、LispやRustのGtkバインドとかまでは手を出さないけど、出してみてもいいっか。

884:login:Penguin
18/07/18 04:16:12.46 IgF5ypZG.net
ファイルに関連付けられているアイコンを取得する方法ってないですか?
FileChooserDialogでファイルのところにアイコン表示されているものでいいです。
アイコン取得の機能さえ公開されていれば簡単にできそうな気はするのですが、見つけられませんでした。。。

885:login:Penguin
18/11/08 13:15:12.33 0k996jQ5.net
>>884
ファイルマネージャにもよるんじゃね?

886:ino
19/04/21 11:23:51.84 ESbqs5Hs.net
Gtk.ComboBoxText() の下に Gtk.Entry() が幾つか横に並んでいる GUI を作ろうとしていて苦戦してます。
と言うのは、上のコンボの選択に応じて、エントリーの数など、下の内容を変えたいのです。
アドバイスをもらえると助かります。キーワード、これを調べろ等でもありがたいです。
また、例などご存知ないでしょうか? 私は python3 + GTK+3 ですが、それに限らないです。


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

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