我试图使用库Curses:UI从http://search.cpan.org/dist/Curses-UI/构建一个Linux上的UI业力。
我可以创建一个简单的用户界面,例如:
#!usr/usr/bin/perl
use strict;
use Curses;
use Curses::UI;
$ui = new Curses::UI(-color_support=>1,-clear_on_exit=>1,-intellidraw=>1);
my $window = $ui->add('window', 'Window',-intellidraw=>1);
my $message = $window->add(-text=>"Hello!",-intellidraw=>1);
$window->focus();
$ui->mainloop();
字符串
问:我需要一些方法来传达信息的UI即我有一个循环,将等待消息来改变窗口中的文本。一旦此消息来弹出窗口将显示。尝试:
my $ui = new Curses::UI(-color_support=>1,-clear_on_exit=>1,-intellidraw=>1);
my $window = $ui->add('window', 'Window',-intellidraw=>1);
my $message = $window->add(-text=>"Hello!",-intellidraw=>1);
pseudocode
while(true) #implemented a function to wait
{
popup($window->text("Hello how are you?"));
}
$window->focus();
$ui->mainloop();
型
问题:上面的方法不起作用。我得到了一个显示我的消息的黑色屏幕。我已经阅读了文档,当我重新定位:$ui->mainloop()在while循环上面时,我得到了用户界面,但现在没有任何东西与窗口通信。
Coincise问题:我需要一些显示用户界面的方法,等待输入和显示消息。
有人能帮我吗?谢谢!
1条答案
按热度按时间pgky5nke1#
我只需要把$ui->mainloop()替换为我自己的eventloop,我自己的东西也会更新。
$ui->mainloop()的实现方式如下:
字符串
因此,我只需将您自己的tick()函数添加到while循环中。