Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: GUI > Изображение на экране, а не в браузере - возможно?


Автор: White_Eagle 12.4.2010, 21:41
Здравствуйте!

Скажите, возможно в Perl вывести на экран какую-то картинку и на ее фоне написать текст. Только не в браузере, а просто на рабочем столе. Это в Винде. 
Рассматривал Tk, Tk:Splashscreen, Tkx, Tkx:Splashscreen. Получается вывести картинку на экран, но вслед за ней выводится окно. Без окна заставка не выводится. Кроме того, не получается на фоне картинки отобразить какой-то текст. Идея заключается в том, что данные, которые у меня есть надо выводить на фоне картинки, и прятать все спустя несколько секунд.

Спасибо.

Автор: shamber 13.4.2010, 14:19
Цитата(White_Eagle @  12.4.2010,  21:41 Найти цитируемый пост)
но вслед за ней выводится окно

все совершенно логично smile это же splashscreen smile Он показывается перед загрузкой основного окна 

Как вариант, вы можете создать окно, у которого не будет заголовка и кнопок (а именно так и делается splashscreen)
отобразить картинку написать текст и скрыть его smile

Автор: White_Eagle 16.4.2010, 11:52
Может есть и лучше вариант, у меня такой получился. Выводит на экран картинку logo.gif и на ее фоне пишет текст, который в $data.

Код

use Tkx;
use Tkx::SplashScreen;

my $data;

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

my $sr = $mw->new_tkx_SplashScreen(
    -image      => Tkx::image_create_photo(-file => './logo.gif'),
    -width      => 'auto',
    -height     => 'auto',
    -show       => 1,
    -topmost    => 1,
);

my $cv = $sr->canvas();
my $ct;
$ct = $cv->create_text(10, 15,-fill =>'White',-font =>'Arial', -text =>$data, -anchor => 'w');

Tkx::after(4000 => sub {
  $sr->hide();
  $mw->g_destroy();
}); 
Tkx::MainLoop();
  


Автор: shamber 16.4.2010, 19:32
White_Eagle, ну и отлично.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)