3

さまざまな理由で、ユーザーがサイズを変更できないようにしたいGTKウィンドウを作成しています。ただし、ウィンドウで set_resizable メソッドを呼び出すと、1 ピクセル x 1 ピクセルのサイズで表示されます。(以下のコードでは、set-resizable 行がコメントアウトされている場合、ウィンドウは予想されるサイズを表示します。サイズ変更と set-resizable が呼び出される順序に違いはありません。) 他に行う必要があることはありますか?

これがコードです...

#include <iostream>
#include "myarea.hpp"
#include <gtkmm/main.h>
#include <gtkmm/window.h>

int main(int argc, char** argv)
{
    Gtk::Main kit(argc, argv);
    Gtk::Window win;
    win.set_title("DrawingArea");
    win.resize (600, 600);
    //win.set_resizable (false);

    MyArea area;
    win.add(area);
    area.show();

    Gtk::Main::run(win);

    return 0;
}
4

2 に答える 2

11

win.set_size_request(600, 600);の代わりに使用してくださいresize。なぜあなたのやり方がうまくいかないのか100%はわかりませんが、ウィンドウを可能な限り小さいデフォルトのサイズ要求に戻すset_resizable(false)効果を元に戻すと思います。resize

于 2010-08-27T08:53:27.433 に答える
1

Gtk::Window::set_default_size()役に立つかもしれません

于 2010-08-27T15:10:08.037 に答える