Manually scroll to a child in a Gtk.ScrolledWindow
I'm developping a GTK app (in Python with PyGTK) and I need to scroll manually the Gtk.ScrolledWindow to a child it contains to show it in the screen.
The ScrolledWindow contains a ListBox, which contains a lot of ListBoxRow.
self.currencySwitcher = CurrencySwitcher(self)
self.currencySwitcherBox = Gtk.ScrolledWindow(vexpand = True)
self.currencySwitcherBox.add(self.currencySwitcher)
CurrencySwitcher herits of Gtk.ListBox:
class CurrencySwitcher (Gtk.ListBox):
# ...
I have a search system to find a specific row in this ListBox, but when I click by searching on a row, it is not visible on the screen (I must scroll to see it)
So I must be able to scroll to a child to see it on the screen without have to manually scroll the ScrolledWindow
How can I do this ? I have already search a lot but i can't found a good answer.
Thanks
gtk pygtk gtkscrolledwindow
add a comment |
I'm developping a GTK app (in Python with PyGTK) and I need to scroll manually the Gtk.ScrolledWindow to a child it contains to show it in the screen.
The ScrolledWindow contains a ListBox, which contains a lot of ListBoxRow.
self.currencySwitcher = CurrencySwitcher(self)
self.currencySwitcherBox = Gtk.ScrolledWindow(vexpand = True)
self.currencySwitcherBox.add(self.currencySwitcher)
CurrencySwitcher herits of Gtk.ListBox:
class CurrencySwitcher (Gtk.ListBox):
# ...
I have a search system to find a specific row in this ListBox, but when I click by searching on a row, it is not visible on the screen (I must scroll to see it)
So I must be able to scroll to a child to see it on the screen without have to manually scroll the ScrolledWindow
How can I do this ? I have already search a lot but i can't found a good answer.
Thanks
gtk pygtk gtkscrolledwindow
Please provide a MCVE. That way we can see what you already have.
– theGtknerd
Jan 6 at 17:04
add a comment |
I'm developping a GTK app (in Python with PyGTK) and I need to scroll manually the Gtk.ScrolledWindow to a child it contains to show it in the screen.
The ScrolledWindow contains a ListBox, which contains a lot of ListBoxRow.
self.currencySwitcher = CurrencySwitcher(self)
self.currencySwitcherBox = Gtk.ScrolledWindow(vexpand = True)
self.currencySwitcherBox.add(self.currencySwitcher)
CurrencySwitcher herits of Gtk.ListBox:
class CurrencySwitcher (Gtk.ListBox):
# ...
I have a search system to find a specific row in this ListBox, but when I click by searching on a row, it is not visible on the screen (I must scroll to see it)
So I must be able to scroll to a child to see it on the screen without have to manually scroll the ScrolledWindow
How can I do this ? I have already search a lot but i can't found a good answer.
Thanks
gtk pygtk gtkscrolledwindow
I'm developping a GTK app (in Python with PyGTK) and I need to scroll manually the Gtk.ScrolledWindow to a child it contains to show it in the screen.
The ScrolledWindow contains a ListBox, which contains a lot of ListBoxRow.
self.currencySwitcher = CurrencySwitcher(self)
self.currencySwitcherBox = Gtk.ScrolledWindow(vexpand = True)
self.currencySwitcherBox.add(self.currencySwitcher)
CurrencySwitcher herits of Gtk.ListBox:
class CurrencySwitcher (Gtk.ListBox):
# ...
I have a search system to find a specific row in this ListBox, but when I click by searching on a row, it is not visible on the screen (I must scroll to see it)
So I must be able to scroll to a child to see it on the screen without have to manually scroll the ScrolledWindow
How can I do this ? I have already search a lot but i can't found a good answer.
Thanks
gtk pygtk gtkscrolledwindow
gtk pygtk gtkscrolledwindow
edited Jan 9 at 12:40
XWarzor
asked Jan 2 at 13:25
XWarzorXWarzor
274
274
Please provide a MCVE. That way we can see what you already have.
– theGtknerd
Jan 6 at 17:04
add a comment |
Please provide a MCVE. That way we can see what you already have.
– theGtknerd
Jan 6 at 17:04
Please provide a MCVE. That way we can see what you already have.
– theGtknerd
Jan 6 at 17:04
Please provide a MCVE. That way we can see what you already have.
– theGtknerd
Jan 6 at 17:04
add a comment |
1 Answer
1
active
oldest
votes
Gtk.ListBox
also inherits from Gtk::Container
, so have a look at the set_focus_vadjustment()
and set_focus_hadjustment()
members of Gtk.Container
.
Once you have called one or both of these functions on your ListBox, you can have your ListBoxRow child grab_focus()
(inherited from Gtk.Widget) and it will be scrolled into view.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54007196%2fmanually-scroll-to-a-child-in-a-gtk-scrolledwindow%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Gtk.ListBox
also inherits from Gtk::Container
, so have a look at the set_focus_vadjustment()
and set_focus_hadjustment()
members of Gtk.Container
.
Once you have called one or both of these functions on your ListBox, you can have your ListBoxRow child grab_focus()
(inherited from Gtk.Widget) and it will be scrolled into view.
add a comment |
Gtk.ListBox
also inherits from Gtk::Container
, so have a look at the set_focus_vadjustment()
and set_focus_hadjustment()
members of Gtk.Container
.
Once you have called one or both of these functions on your ListBox, you can have your ListBoxRow child grab_focus()
(inherited from Gtk.Widget) and it will be scrolled into view.
add a comment |
Gtk.ListBox
also inherits from Gtk::Container
, so have a look at the set_focus_vadjustment()
and set_focus_hadjustment()
members of Gtk.Container
.
Once you have called one or both of these functions on your ListBox, you can have your ListBoxRow child grab_focus()
(inherited from Gtk.Widget) and it will be scrolled into view.
Gtk.ListBox
also inherits from Gtk::Container
, so have a look at the set_focus_vadjustment()
and set_focus_hadjustment()
members of Gtk.Container
.
Once you have called one or both of these functions on your ListBox, you can have your ListBoxRow child grab_focus()
(inherited from Gtk.Widget) and it will be scrolled into view.
edited Mar 7 at 15:10
kalehmann
2,371521
2,371521
answered Mar 7 at 14:47
AdiabatAdiabat
411
411
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54007196%2fmanually-scroll-to-a-child-in-a-gtk-scrolledwindow%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Please provide a MCVE. That way we can see what you already have.
– theGtknerd
Jan 6 at 17:04