微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl-Gtk2 如何识别小部件是否显示在当前 ScrolledWindow 中

如何解决perl-Gtk2 如何识别小部件是否显示在当前 ScrolledWindow 中

我在 HBox 中有一个带有多个小部件的滚动窗口,我正在寻找一种方法来识别当前显示在 ScrolledWindow 视图中的小部件

下面的代码向 ScrolledWindow 添加了 100 个扩展项,我正在寻找一种方法来检查特定项是否对用户可见,而不是在滚动窗口的当前视图之外。

示例代码

my $ItemsCount = 100;                                            
my $ScWin  = Gtk2::ScrolledWindow->new(undef,undef);            
$ScWin->set_policy('automatic','automatic');                    
                                                                 
my $Frame      =  Gtk2::Frame->new('Items');                     
my  $ItemsBox   = Gtk2::Table->new(2,$ItemsCount+1,FALSE);      
                                                                 
my  $View = Gtk2::Viewport->new();                               
$View->add($ItemsBox);                                           
$ScWin->add($View);                                              
                                                                 
for my $i (0 .. $ItemsCount-1)  {                                
   my $exp =  Gtk2::Expander->new();                             
   $exp     ->set_label("Item #$i");                             
   $ItemsBox->attach($exp,1,$i,$i+1,'fill',2);
}                                                                
$MainBox    ->pack_start    ($ScWin,TRUE,0);               

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。