7

新しいウィンドウを作成し、それを画面の中央に移動したいのですが、どうすればよいですか? 私は以下を試しました

gtk_widget_hide (GTK_WIDGET (window));
gtk_window_set_position (window, GTK_WIN_POS_CENTER);
gtk_widget_show_all (GTK_WIDGET (window));

しかし、それ gtk_window_set_position (window, GTK_WIN_POS_CENTER)は一度だけトリガーされるようです。私が間違ったことはありますか?

4

4 に答える 4

6

アプリケーションを中央に配置するように指示するには、次のようにします。ただし、私はあなたが言及した機能に精通していません。おそらく、この方法と同じくらい良いでしょう。gtk_window_move() を使用してウィンドウを移動できます。座標はデフォルトで左上隅から計算されますが、次の方法で変更できます:

void gtk_window_set_gravity (GtkWindow *window,
                             GdkGravity gravity);

利用可能な列挙型は次のとおりです。

GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_NORTH, GDK_GRAVITY_NORTH_EAST,
GDK_GRAVITY_WEST,GDK_GRAVITY_CENTER, GDK_GRAVITY_EAST, 
GDK_GRAVITY_SOUTH_WEST, GDK_GRAVITY_SOUTH, GDK_GRAVITY_SOUTH_EAST, 
and GDK_GRAVITY_STATIC.

そして、使用します

void gtk_window_move (GtkWindow *window,
                      gint x,
                      gint y);

ウィンドウの初期位置が変更されるかどうかは定かではありません。準拠するかどうかは Windowmanager 次第です。gtk のマニュアルが読者に伝えているように、ほとんどのウィンドウ マネージャーは初期ウィンドウの位置を無視します。

このリンクは、上記の機能に関する多くの情報を提供しますhttps://developer.gnome.org/gtk3/3.5/GtkWindow.html#gtk-window-move

于 2013-07-31T08:07:42.457 に答える