Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Perl Tk中滚动单个帧?_Perl_Scrollbar_Frame_Tkx - Fatal编程技术网

如何在Perl Tk中滚动单个帧?

如何在Perl Tk中滚动单个帧?,perl,scrollbar,frame,tkx,Perl,Scrollbar,Frame,Tkx,我正在尝试为转换程序创建GUI。我想创建一个包含日志文件的框架,但无法获取它。我找到了一些使整个窗口可滚动的代码,但这不是我想要的。我只想滚动一个包含带有链接文本变量的标签的框架 我甚至尝试了以下代码: $s = $parent->new_ttk__scrollbar(-orient => 'vertical', -command => [$frame, 'yview']); $frame->configure(-scrollcommand => [$s, 's

我正在尝试为转换程序创建GUI。我想创建一个包含日志文件的框架,但无法获取它。我找到了一些使整个窗口可滚动的代码,但这不是我想要的。我只想滚动一个包含带有链接文本变量的标签的框架

我甚至尝试了以下代码:

 $s = $parent->new_ttk__scrollbar(-orient => 'vertical', -command => [$frame, 'yview']);
 $frame->configure(-scrollcommand => [$s, 'set']);
但是我犯了一个错误。Perl说,
scrollcommand
不是公认的命令


我在pastebin上发布了一段代码:

框架小部件不可滚动(即它们不支持
xview
yview
方法)。在框架中使用文本小部件而不是标签。如果你懒惰,就用它来帮你。如果您使用标签是因为希望它是只读的,请改用。当我在推广自己的模块时,请在键入搜索界面时使用

use strict;
use warnings;

use Tkx;
use Tkx::FindBar;
use Tkx::ROText;
use Tkx::Scrolled;

my $mw = Tkx::widget->new('.');

my $text = $mw->new_tkx_Scrolled('tkx_ROText',
    -scrollbars => 'osoe',
    -wrap       => 'none',
);

my $findbar = $mw->new_tkx_FindBar(-textwidget => $text);

$findbar->add_bindings($mw,
    '<Control-f>'  => 'show',
    '<Escape>'     => 'hide',
    '<F3>'         => 'next',
    '<Control-F3>' => 'previous',
);

$text->g_pack(-fill => 'both', -expand => 1);

$findbar->g_pack(
    -after => $text,
    -side  => 'bottom',
    -fill  => 'x',
);

$findbar->hide();

open(my $fh, '<', __FILE__) or die;
$text->insert('end', do { local $/; <$fh> });
close $fh;

$mw->g_focus();
Tkx::MainLoop();
使用严格;
使用警告;
使用Tkx;
使用Tkx::FindBar;
使用Tkx::ROText;
使用Tkx::滚动;
我的$mw=Tkx::widget->new('.');
我的$text=$mw->new_-tkx_滚动('tkx_-ROText',
-滚动条=>'osoe',
-wrap=>“无”,
);
my$findbar=$mw->new_-tkx_-findbar(-textwidget=>$text);
$findbar->add_绑定($mw,
''=>'显示',
''=>'隐藏',
''=>'下一步',
''=>'先前',
);
$text->g_pack(-fill=>both',-expand=>1);
$findbar->g_pack(
-在=>$text之后,
-侧面=>“底部”,
-fill=>x',
);
$findbar->hide();

打开(我的$fh,'谢谢你的帮助。我不知道框架在哪里不可滚动。我使用了一个文本小部件,在我需要的时候可以禁用、读取和写入。当我完成GUI最重要的部分时,我会看看你的模块。我仍然感谢你。再见