【问题标题】:How do I create a modal dialog with no title bar icon in PyGTK?如何在 PyGTK 中创建没有标题栏图标的模式对话框?
【发布时间】:2011-08-24 01:13:16
【问题描述】:

根据 Microsoft 的 user interface guidelines for dialogs,在 Windows 上使用 PyGTK,我想创建一个没有标题栏图标的模式对话框。指南规定大多数对话框不应有标题栏图标(实现主窗口或实用程序并出现在任务栏上的对话框除外)。

缺少标题栏图标与空白图标不同,因为对话框标题完全靠左对齐,并且没有左键单击窗口上下文菜单的位置(您必须右键单击标题栏) .

我认为下面的代码会起作用:

import gtk

win = gtk.Window()
win.set_icon(None)
win.connect("delete-event",gtk.main_quit)

dia = gtk.Dialog(parent=win, flags=gtk.DIALOG_MODAL)
dia.set_skip_taskbar_hint(True)
dia.set_icon(None)
win.show()
dia.show()

gtk.main()

此代码显示的对话框是模态的,不会显示在任务栏上。但是,它的标题栏上仍然有一个图标,这是我不想要的。我知道 Windows 能够显示没有图标的对话框,因为 Windows shell 中的大多数错误消息都没有。

我还在 GNU/Linux 上测试了上面的代码,它的行为方式相同......没有任务栏提示的模态对话框,但它仍然有一个标题栏图标。

我现在很乐意用 hack 作为答案,但如果没有干净的方法可以做到这一点,我打算为 GTK/PyGTK 提交一个错误。

【问题讨论】:

标签: python gtk pygtk


【解决方案1】:

试试这个

window = gtk.Window()
dialog = gtk.Dialog()

dialog.set_modal(True)
dialog.set_transient_for(window)
dialog.set_decorated(False)

window.show()
dialog.show()

gtk.main()

【讨论】:

  • 我测试过这个;它会删除所有窗口装饰(标题栏、框架等),而不仅仅是图标。
猜你喜欢
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多