リストにウィジェットを持たせることができるPerl Tkのリストボックスのタイプがあれば誰にも分かりますか?たとえば、ユーザーがチェックまたはチェックを外すことができるCheckbuttonウィジェットを含む列の1つを持つ複数列のリストボックスが必要です。埋め込みウィジェットを持つPerl Tkリストボックス?
0
A
答えて
0
Tk :: HListがあなたが探しているものかもしれません。参照:
http://www.perltk.org/index.php?option=com_content&task=view&id=23&Itemid=28
1
を私の知る限りでは、標準のリストボックスウィジェットは唯一の内容として、文字列の1行をサポートしています。 私たちはウィジェットを含むことができる、より強力なリストボックスを構築することができますので、不満はありません!
ここに私がプログラム用に書いたコードがあります。そして、その結果は、以下に示すPIC(私はそれを描くので、私は関連文書から直接それを取る)のようなものです
TIPS:
- 私が書いたコードはPerlの使用のTcl :: Tkのモジュールであり、あなたは簡単にPerl/Tkに変更することができます
- 写真が示すように、6ウィジェットは配列@itemを構築し、6 @item配列は配列@cur_itemsを構築し、@cur_itemsから始めて任意のウィジェットを見つけることができます(あなたがすでにシーケンスを知っているので)
- これらのウィジェットをきれいにするために追加のフレームを使用しますが、2つのウィジェットを整理したい場合は無視することができます(フレームを使用することをお勧めします)
- 無視するコーダーが重いプログラミング圧力の下で素敵な名前を付けるためにウィジェットの名前再、subsubwidgetまたはsubsubdateのように、それは難しいです:)
# init - create six items
# each of them contains 5 widgets
for (1..6) {
my @items =();
# create a frame for each item
# 0 --- LabelFrame --- file name
# 1 --- label --- icon
# 2 --- text --- path dir
# 3 --- label --- date
# 4 --- label --- size
# 5 --- button --- preview info
my $item = $toplevel->Frame(
-bg => 'white',
)->pack(
-in => $toplevel,
-anchor => 'nw',
-pady => 10,
);
my $widget = $item->LabelFrame(
-bg => 'white',
-fg => 'blue',
)->pack(
-in => $item,
-side => 'left',
-anchor => 'nw',
);
push (@items, $widget);
# file/dire type icon
my $subicon = $widget->Label(
-bg => 'white',
);
$subicon->pack(
-in => $widget,
-side => 'left',
-anchor => 'center'
);
push (@items, $subicon);
my $subwidget = $widget->Frame(
-bg => 'white',
)->pack(
-in => $widget,
-side => 'left',
);
# file path
my $subtext = $subwidget->Text(
-height => 2,
-width => 39,
-bg => 'white',
-borderwidth => 0,
-wrap => 'char',
)->pack(
-in => $subwidget,
-anchor => 'nw',
);
push (@items, $subtext);
$subtext->configure(-state => 'disabled');
# date and size
my $subsubwidget = $subwidget->Frame(
-bg => 'white',
)->pack(
-in => $subwidget,
-anchor => 'nw',
);
my $subsubdate = $subsubwidget->Label(
-bg => 'white',
-text => '',
)->pack(
-in => $subsubwidget,
-anchor => 'nw',
-side => 'left',
);
push (@items, $subsubdate);
my $subsubsize = $subsubwidget->Label(
-width => 12,
-bg => 'white',
)->pack(
-in => $subsubwidget,
-anchor => 'nw',
-side => 'left',
);
push (@items, $subsubsize);
# more info
my $infobtn = $item->Button(
-text => '>',
-width => 0,
-height => 4,
-padx => 0,
-pady => 0,
-relief => 'flat',
-bg => 'white',
)->pack(
-in => $item,
-side => 'left',
-anchor => 's',
);
push (@items, $infobtn);
# record created widget
push (@cur_items, \@items);
}
# end of init
関連する問題
- 1. ディレクトリのファイル名を持つコンボ/リストボックスを埋め込む
- 2. pdf埋め込み/埋め込み
- 3. 埋め込みブートストラップレイアウトの埋め込み
- 4. JavascriptのためのGoogle Webfontsの選択と埋め込みウィジェット
- 5. VBAは、リストボックスのclickboxの上にテキストボックスを埋め込みます。
- 6. 同じfontNameプロパティを持つflashの埋め込みフォント
- 7. AS2 FLA埋め込みクラスを持つコンポーネント
- 8. 埋め込みハッシュテーブルを持つPowershell ConvertTo-json
- 9. Symfony/Doctrine:埋め込みフォームを持つ最後のonFlushイベント
- 10. 複数の埋め込みイメージを持つVB.NET電子メール
- 11. GORMコンポジション - 多対1リレーションシップを持つ埋め込みドメインorg.hibernate.MappingException
- 12. 負の数値を持つPHPのprintf()桁埋め込み
- 13. 埋め込みデータにhasManyリレーションを持つEmberデータ
- 14. 埋め込みhasMay関係を持つEmberJS RESTSerializer
- 15. 埋め込みウィジェットにCSSスタイルを適用するには
- 16. wxPythonウィンドウにPyQt4ウィジェットを埋め込む
- 17. 埋め込みTwitterウィジェット高さの問題
- 18. QMainWindowと含まれているウィジェットの間の埋め込み
- 19. ASP.Netアプリケーションに埋め込み可能なウィジェット
- 20. ハイパーリンクと埋め込み画像を含むperl sendmail
- 21. 埋め込みオーディオ
- 22. 埋め込み@フォントフェースフォントクローム
- 23. @埋め込みリストオブジェクトハイバーネート
- 24. 埋め込みタグ
- 25. 埋め込みブラウザ
- 26. 埋め込みリンク
- 27. 埋め込みパラメータ
- 28. 埋め込みコード
- 29. 埋め込みモノタッチデバッグ
- 30. Python埋め込み
それは[私が見ることができるもの]から埋め込みウィジェットをサポートしていません(のhttp:/ /search.cpan.org/~srezic/Tk-804.029/pod/HList.pod)。 –