Ubuntu下使用GTK创建的窗口最大化和关闭按钮如何取消

开发基于GTK+或QT的应用程序
回复
lover2668
帖子: 6
注册时间: 2018-09-19 16:39
送出感谢: 1 次
接收感谢: 0

Ubuntu下使用GTK创建的窗口最大化和关闭按钮如何取消

#1

帖子 lover2668 » 2018-09-30 12:17

Ubuntu下使用GTK接口创建文件选择窗口和子窗口,调用
gtk_window_set_deletable(GTK_WINDOW (pChildWin), FALSE);
gtk_window_set_resizable(GTK_WINDOW (pChildWin), FALSE);
设置将窗右上角的最大化和关闭按钮想取消隐藏,但不生效。
同样的接口在centos和redhat上是有效的。

发现ubuntu上安装的gtk是ubuntu自己重新定制过的gtk安装包

pChildWin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_deletable(GTK_WINDOW (pChildWin), FALSE);
gtk_window_set_resizable(GTK_WINDOW (pChildWin), FALSE);

这个是一个显示进度条窗口
创建了一个window窗口,再一个label显示文字,一个progress bar,一个暂停button和一个取消button,创建了一个横向box,加入两个button,
再创建了一个纵向布局box将label,progressbar和横向布局box加入。

所以想通过设置window属性,将窗口的默认关闭和最大化按钮取消,但是失败。

求指教
头像
astolia
论坛版主
帖子: 3317
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 556 次

Re: Ubuntu下使用GTK创建的窗口最大化和关闭按钮如何取消

#2

帖子 astolia » 2018-09-30 15:45

先读下文档 https://developer.gnome.org/gtk3/stable ... -deletable
By default, windows have a close button in the window frame. Some window managers allow GTK+ to disable this button.
既然是some,也就是说不是所有窗口管理器都允许。所以你该做两手准备,既要设置这个标志,还要在对应的delete-event事件处理函数中返回true来阻止关闭。
最大化同理。
回复

回到 “GTK+和QT”