Bạn đang hoàn toàn ở lòng thương xót của người quản lý cửa sổ của bạn cho điều này, và các vấn đề quan trọng ở đây là:
mà không bị tối đa
Vì vậy, chúng tôi là trái với một số hacks , bởi vì về cơ bản tối đa hóa và thay đổi kích thước là hai điều riêng biệt, để bạn có thể nhớ nó ở đâu khi nó không được tối đa hóa.
Vì vậy, trước khi tôi cho bạn thấy sự ghê tởm này, tôi khuyên bạn nên xem xét sử dụng tối đa hóa đúng và chỉ hài lòng với nó.
Vì vậy, ở đây đi:
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()
Nguồn
2009-02-03 18:09:21
Ali, điều này thật tuyệt vời! –
Lars, cảm ơn! Đó là lời khen ngợi cao! –