Dear list!
My question may sound silly (and maybe it is), but let me explain.
You could say that a ScrolledWindow that is exactly as big as its
content doesn't make a lot of sense, but I think in my case it does:
I made a GUI using Glade and want to show it in a kind of "kiosk
mode", i.e. I want to run it in fullscreen mode with all the widgets
centered on the screen.
To achieve this, I placed a gtk.Alignment into the main gtk.Window and
inside of this I put all my other widgets.
This worked well until I placed a gtk.ScrolledWindow somewhere inside.
The reason for this is that I wanted to run the GUI on different
screen resolutions. On large screens, the Scrolledwindow should show
all contents and on small screens there should be scrollbars.
Therefore, I couldn't set a size request to the ScrolledWindow,
because this would be either too large for small screens or the other
way round.
What do I have to do that the ScrolledWindow shows all its contents on
large screens but still is scrollable if the toplevel window is very
small?
I think this should be logically possible, but I don't know how to
achieve it with pygtk.
To illustrate my problem, I created a little test script (see below).
The buttons are of course only place-holders for my actual widgets.
In a comment there is one line with a size request. If I un-comment
that, it looks more or less like I want it to look. The thing is even
if I did know the exact size of the contents, it would still not be
scrollable if the window is made very small.
I hope you understand my problem and maybe you know a solution or have
some hints for me.
Thanks in advance,
Matthias
#########################################
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
class ScrolledWindowTest:
def destroy(self, widget):
gtk.main_quit()
def __init__(self):
window = gtk.Window()
window.fullscreen()
window.connect("destroy", self.destroy)
window.set_title("ScrolledWindow Test")
scrolled_window = gtk.ScrolledWindow()
# I would like it to look like with this line:
#scrolled_window.set_size_request(105,205)
scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
alignment = gtk.Alignment(0.5, 0.5, 0, 0)
alignment.add(scrolled_window)
window.add(alignment)
vbox = gtk.VBox()
scrolled_window.add_with_viewport(vbox)
for i in range(5):
button = gtk.ToggleButton("button")
button.set_size_request(80, 40)
vbox.pack_start(button, expand=False)
window.show_all()
if __name__ == "__main__":
ScrolledWindowTest()
gtk.main()
#########################################
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/