我正在创建一个 GTK 窗口,出于各种原因,我希望用户无法调整大小。但是在窗口上调用 set_resizable 方法会导致它以 1 x 1 像素的大小显示。 (在下面的代码中,如果 set-resizable 行被注释掉,窗口将显示预期的大小。调用 resize 和 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;
}
最佳答案
使用 win.set_size_request(600, 600);
而不是 resize
.我不是 100% 确定为什么你的方式不起作用,但我认为 set_resizable(false)
撤消 resize
的影响导致窗口恢复为其默认大小请求,即尽可能小。
关于gtk - 将 resizable 设置为 false 将窗口缩小到指向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3582558/