---
name: "POE::Loop::Tk"
section: "3pm"
platform: "linux"
package: "libpoe-loop-tk-perl"
version: "1.305-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Loop::Tk"
---

# POE::Loop::Tk(3pm)

a bridge that allows POE to be driven by Tk

sub skip\_tests {\
   return "Tk needs a DISPLAY (set one today, okay?)" unless (\
     (defined `$ENV`{DISPLAY} and length `$ENV`{DISPLAY}) or $^O eq "MSWin32"\
   );\
   my `$test_name` = shift;\
   if ($test\_name eq "k\_signals\_rerun" and $^O eq "MSWin32") {\
     return "This test crashes Perl when run with Tk on $^O";\
   }\
   return "Tk tests require the Tk module" if do { eval "use Tk"; $@ };\
   my `$m` = eval { Tk::MainWindow-\>**new()** };\
   if ($@) {\
     my `$why` = $@;\
     `$why` =~ s/ at .\*//;\
     return "Tk couldn't be initialized: `$why`";\
   }\
   return; }

## NAME

POE::Loop::Tk - a bridge that allows POE to be driven by Tk

## SYNOPSIS

See POE::Loop.

```
  use Tk;
  use POE;
  # Rest of your program here.
```

## DESCRIPTION

POE::Loop::Tk replaces POE's internal event loop with the Tk module. This allows programs to use both POE and Tk at the same time.

POE::Loop::Tk implements the interface documented in POE::Loop. Therefore it has no documentation of its own.  Please see POE::Loop for more details.

POE::Loop::Tk is one of two versions of the Tk event loop bridge.  The other, POE::Loop::TkActiveState accommodates behavior differences in ActiveState's build of Tk.  Both versions share common code in POE::Loop::TkCommon.  POE::Loop::Tk dynamically selects the appropriate event loop bridge based on the runtime environment.

## SEE ALSO

POE, POE::Loop, Tk, POE::Loop::TkCommon, POE::Loop::PerlSignals.

## AUTHORS & LICENSING

POE::Loop::Tk is Copyright 1998-2013 Rocco Caputo.  All rights reserved.  POE::Loop::Tk is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
