我正在寻找有关Tk小部件源文件中常见的Tk::Methods
和TK::Submethods
语句的信息。我搜索了网络并堆栈溢出,并没有找到任何有用的信息。
我专门研究Tk::Text
小部件实现。
如,
Tk::Methods (... 'insert'...)
该语句是否意味着insert
必须是Tk::Text
小部件中的方法?
我找不到对insert
子程序的任何引用?
我找到Insert
(注意大写I
),Tk::Methods
也以某种方式操纵输入字符串?
答案 0 :(得分:2)
没有HTML
。 use
是Methods
中声明的子例程,许多小部件只是调用它。
子程序的目的可能是从用法或其来源(UTSL)中猜到的:
Tk.pm
它在调用者的命名空间中创建给定的方法,即
sub Methods
{
my ($package) = caller;
no strict 'refs';
foreach my $meth (@_)
{
my $name = $meth;
*{$package."::$meth"} = sub { shift->WidgetMethod($name,@_) };
}
}
会在package MyWidget;
Tk::Methods('insert');
类中创建insert
方法,该方法将实现为
MyWidget