perl/tk:mainloop之前的访问按钮文本



考虑以下示例:

use strict;
use Tk;
my $w = tkinit;
$w->withdraw;
my $b = $w->Button(
    -text => "Test", 
    -command => &test,
    )->pack();
$w->Popup;
print "Text: " . $b->cget(-text) . "n";
MainLoop;
sub test
{
    print "Text: " . $b->cget(-text) . "n";
}

一旦程序启动,我就会在输出而不是Text: Test中看到Text:。如果按下按钮,则输出是正确的。在调用MainLoop之前,如何访问按钮属性-text

perl,v5.10.1(*)为MSWIN32-X86-MULTI-THERERED
TK版本:804.031

尝试添加$ b-> update;就在$ w->弹出之前;。

注意:在这里,在Win 8.1 X64上,带有Perl 5.16.3和TK 801.031即使没有更新也可以正常工作。

最新更新