考虑以下示例:
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即使没有更新也可以正常工作。