gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

软件和网站开发以及相关技术探讨
回复
GodPig
帖子: 240
注册时间: 2007-04-27 23:07

gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#1

帖子 GodPig » 2009-09-26 15:44

我明明已经用gtk_window_set_default_size设置了大小了
设置的500*500的

但是,我如果用了这个函数的话,把第二个参数设为FALSE
窗口变得只剩一点点了,连关闭按钮都看不见了

这是怎么回事?

谢谢!!!
头像
windwhinny
帖子: 618
注册时间: 2007-09-26 17:34

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#2

帖子 windwhinny » 2009-09-26 17:26

先用gtk_window_set_resizable,再用gtk_window_set_default_size
头像
slax
帖子: 1099
注册时间: 2009-08-17 3:52

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#3

帖子 slax » 2009-09-26 18:12

楼上正解
gtk的属性就这样,其大小由你指定,这不是bug
GodPig
帖子: 240
注册时间: 2007-04-27 23:07

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#4

帖子 GodPig » 2009-09-26 20:09

好像不行呀,我先调用了 gtk_window_set_resizable
再调用gtk_window_set_default_size,仍然有问题

我的这段代码如下:

代码: 全选

 19   gtk_window_set_resizable(GTK_WINDOW(window_), FALSE);
 20   gtk_window_set_default_size(GTK_WINDOW(window_), 500, 500);
 21   gtk_container_set_border_width(GTK_CONTAINER(window_), 10);
 22   gtk_window_set_position(GTK_WINDOW(window_), GTK_WIN_POS_CENTER_ALWAYS);
这代码在哪块有问题吗?

谢谢!!!
头像
slax
帖子: 1099
注册时间: 2009-08-17 3:52

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#5

帖子 slax » 2009-09-27 9:45

为何我的可以呢?rp?

代码: 全选

#include <gtk/gtk.h>
int main (int argc, char *argv[])
{ GtkWidget *window1;
  gtk_init (&argc, &argv);
  window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request (window1, 300, 400);
  gtk_window_set_title (GTK_WINDOW (window1), "window1");
  gtk_window_set_resizable (GTK_WINDOW (window1), FALSE);
  g_signal_connect ((gpointer) window1, "delete_event",G_CALLBACK (gtk_main_quit),NULL);
  gtk_widget_show (window1);
  gtk_main ();
  return 0;}
:em04
We believe that the internet should be public, open and accessible.
软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。
iceplayer! linux音乐新体验~ 最新版本4.0.5-20110520已更新!viewtopic.php?f=137&t=252461
想要iceplayer 测试版麼?加入QQ群80071264吧,在code.google也可找到
http://www.iceplayer.org/
http://jasy.ice.blog.163.com/
头像
slax
帖子: 1099
注册时间: 2009-08-17 3:52

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#6

帖子 slax » 2009-09-27 9:48

代码: 全选

#include <gtk/gtk.h>
int main (int argc, char *argv[])
{ GtkWidget *window1;
  gtk_init (&argc, &argv);
  window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_resizable (GTK_WINDOW (window1), FALSE);
  gtk_widget_set_size_request (window1, 300, 400);
  gtk_window_set_title (GTK_WINDOW (window1), "window1");
  g_signal_connect ((gpointer) window1, "delete_event",G_CALLBACK (gtk_main_quit),NULL);
  gtk_widget_show (window1);
  gtk_main ();
  return 0;}
将 gtk_widget_set_size_request 和 gtk_window_set_resizable 反过来 也行 rp问题的几率上升了 :em70
We believe that the internet should be public, open and accessible.
软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。
iceplayer! linux音乐新体验~ 最新版本4.0.5-20110520已更新!viewtopic.php?f=137&t=252461
想要iceplayer 测试版麼?加入QQ群80071264吧,在code.google也可找到
http://www.iceplayer.org/
http://jasy.ice.blog.163.com/
GodPig
帖子: 240
注册时间: 2007-04-27 23:07

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#7

帖子 GodPig » 2009-09-27 12:39

哦,你用的gtk_widget_set_size_request
我用的:gtk_window_set_default_size

我用的有问题?
我今天晚上回去试试~~~

我再看看文档,看这两个函数啥区别

谢谢了!
GodPig
帖子: 240
注册时间: 2007-04-27 23:07

Re: gtk_window_set_resizable有bug呀,我设为FALSE之后,窗口就变得极小了……

#8

帖子 GodPig » 2009-09-28 23:28

我试了一下,用gtk_widget_set_size_request果然解决了问题~~~
回复