设置可调整大小为false将窗口缩小至点
问题描述:
我正在创建一个GTK窗口,出于各种原因,我希望用户不可调整大小。但是调用窗口上的set_resizable方法会使其显示1像素x 1像素的大小。 (在下面的代码中,如果set-resizable行被注释掉了,那么窗口会显示预期的大小,调用resize和set-resizable的顺序是没有区别的。)还有什么需要做的?设置可调整大小为false将窗口缩小至点
这里是代码...
#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;
}
答
使用win.set_size_request(600, 600);
,而不是resize
。我不是100%确定你的方式不起作用,但我认为set_resizable(false)
撤销了resize
的影响,导致窗口恢复到其尽可能小的默认大小请求。
答
Gtk::Window::set_default_size()
也可能有用
谢谢你,ptomato。这是做的伎俩。 (在我从文档中发现之前已经有一段时间了。) – 2010-08-27 09:03:50