【问题标题】:How to make a python gtk app "dock" on top of other apps?如何使 python gtk 应用程序“停靠”在其他应用程序之上?
【发布时间】:2011-12-02 20:33:08
【问题描述】:

我希望这个 python gtk 应用程序“停靠”在屏幕顶部。有没有办法禁用关闭、最大化和最小化按钮并将其置于其他应用程序之上?

#!/usr/bin/env python
import sys
import gtk
import webkit
DEFAULT_URL = 'http://webpage.com'
class SimpleBrowser:
def __init__(self):
    self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    self.window.connect('delete_event', self.close_application)
    self.window.set_default_size(1024, 125)
    vbox = gtk.VBox(spacing=5)
    vbox.set_border_width(5)
    self.txt_url = gtk.Entry()
    self.txt_url.connect('activate', self._txt_url_activate)
    self.scrolled_window = gtk.ScrolledWindow()
    self.webview = webkit.WebView()
    self.scrolled_window.add(self.webview)
    vbox.pack_start(self.scrolled_window, fill=True, expand=True)
    self.window.add(vbox)
def _txt_url_activate(self, entry):
    self._load(entry.get_text())
def _load(self, url):
    self.webview.open(url)
def open(self, url):
    self.txt_url.set_text(url)
    self.window.set_title('%s' % url)
    self._load(url)
def show(self):
    self.window.show_all()
def close_application(self, widget, event, data=None):
    gtk.main_quit()
if __name__ == '__main__':
if len(sys.argv) > 1:
    url = sys.argv[1]
else:
    url = DEFAULT_URL
gtk.gdk.threads_init()
browser = SimpleBrowser()
browser.open(url)
browser.show()
gtk.main()

【问题讨论】:

    标签: python gtk


    【解决方案1】:

    工具栏中的关闭、最大化和最小化是窗口管理器装饰的一部分。如果您想摆脱它们,请使用 gtk.Window.set_decorated 禁用装饰并将装饰设置设置为 false。关于始终处于领先地位,您可以尝试gtk.Window.set_keep_above。这又是对窗口管理器的“提示”。您的窗口管理器可能会选择忽略它。 This question 讨论“始终位于顶部”窗口,this question 讨论更多有关 X11 和窗口管理器提示将窗口设置为“始终位于顶部”的信息。
    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 2011-02-17
      • 2015-09-29
      • 2022-11-10
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多