Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: How to printout a Gtk2::ComboBox

by kikuchiyo (Friar)
on Aug 16, 2019 at 22:49 UTC ( #11104587=note: print w/replies, xml ) Need Help??


in reply to How to printout a Gtk2::ComboBox

It's slightly more complicated: you have to use the foreach method of the model to iterate on its rows, supply a callback to it, in which you use the Gtk2::TreeIter to get the value out of each row.

Working example:

#! /usr/bin/perl use strict; use warnings; use feature qw/say/; use Gtk2 -init; my $window = Gtk2::Window->new ('toplevel'); $window->signal_connect (delete_event => sub { Gtk2->main_quit }); my $vbox = Gtk2::VBox->new(); $window->set_size_request (130, 100); $window->add($vbox); my $combo = Gtk2::ComboBox->new_text(); foreach (qw/foo bar baz/) { $combo->append_text ($_); } $vbox->pack_start($combo, 0, 0, 5); # expand?, fill?, padding my $button = Gtk2::Button->new ('extract'); $button->signal_connect (clicked => \&extract); $vbox->pack_start($button, 1,1,5); $window->show_all; Gtk2->main; sub extract { my $active_text = $combo->get_active_text(); print "active text: $active_text\n"; print "all rows:\n"; my $model = $combo->get_model(); $model->foreach(sub { my ($store, $path, $iter) = @_; my $value = $model->get_value($iter, 0); # assuming there is o +ne column only in the model print $value."\n"; return 0; }); }

Documentation: http://gtk2-perl.sourceforge.net/doc/pod/Gtk2/ComboBox.html - warning: it's autogenerated and obsolete.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11104587]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2022-08-18 01:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?