perl,  日記

Perl/Tkの日本語表示

Last Updated on 2022年10月4日 by Dotmatrix

Perl/Tkの日本語表示はこれでできます

エンコードをuseしてテキストをデコードしてやれば使えます

文字コードに注意してください。

OSはDebian系Ubuntu派生です

Perlのパスはご自分の環境に合わせてください

#!/usr/bin/perl

use Tk;
use Encode qw(decode);

トップウィンドウを作る

$top = MainWindow->new();
$top->optionAdd( ‘*font’ => ‘MSゴシック 10’ );

ボタン(デコードしてます)

$button = $top->Button(-text => decode(‘utf8’, “文字列”), -command => \&onButton)->pack();

ラベル(デコードしてません)

$label = $top->Label(-text => “ラベル文字”)->pack();

テキスト入力フィールド

$entry = $top->Entry()->pack();

テキスト入力エリア

$text = $top->Text(-width => 30, -height => 2)->pack();

リストボックス

$listbox = $top->Listbox(-height => 3)->pack();
$listbox->insert(0, “Item1”, “Item2”, “Item3”);

チェックボタン

$checkbutton = $top->Checkbutton(-text => “Yes”)->pack();

ボタンを作成する

$button = $top->Button(
-text => “Click Me!!”, # ボタンに表示される文字
-command => \&onButton # 押下時に実行するサブルーチン
);
$button->pack(); # ボタンを配置する

メインループに突入

MainLoop();

ボタンが押されたときに呼ばれる関数

sub onButton {
# メッセージボックスを表示
$top->messageBox(
-type => “ok”,
-icon => “info”,
-title => “Hello”,
-message => decode(‘utf8’, “ようこそ Perl/Tk の世界へjapan”)
);
}