如何创建填充整个桌面的主窗口不覆盖(或通过被覆盖),任务栏没有被最大化?我能找到与整个屏幕尺寸,并与此相应地设置在主窗口:

window = gtk.Window()
screen = window.get_screen()
window.resize(screen.get_width(), screen.get_height())

但是窗口的底部由任务栏覆盖。

有帮助吗?

解决方案

您完全在这个窗口管理器的怜悯,这里的关键问题是:

  

<强>没有被最大化

所以我们留下了一些黑客,因为基本上最大化和调整大小是两个不同的东西,为了你也许能记得它是当它是unmaximized。

所以我才告诉你这个可怕的黑客,我劝你考虑使用适当的最大化,只是喜欢它。

所以这里有云:

import gtk

# Even I am ashamed by this
# Set up a one-time signal handler to detect size changes
def _on_size_req(win, req):
    x, y, w, h = win.get_allocation()
    print x, y, w, h   # just to prove to you its working
    win.disconnect(win.connection_id)
    win.unmaximize()
    win.window.move_resize(x, y, w, h)

# Create the window, connect the signal, then maximise it
w = gtk.Window()
w.show_all()
w.connection_id = w.connect('size-request', _on_size_req)
# Maximizing will fire the signal handler just once,
# unmaximize, and then resize to the previously set size for maximization.
w.maximize()

# run this monstrosity
gtk.main()

其他提示

你的意思是使窗口的全屏的?

基于GTK具有使全屏窗口函数和后,请参阅 gtk_window_fullscreen() gtk_window_unfullscreen()

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top