沒有人知道在Perl Tk中是否有一種列表框允許您在列表中擁有一個小部件?例如,我需要一個多列列表框,其中一列包含一個Checkbutton小部件,用戶可以選中或取消選中。帶有嵌入小部件的Perl Tk列表框?
0
A
回答
0
Tk :: HList可能是你正在尋找的。請參閱:
http://www.perltk.org/index.php?option=com_content&task=view&id=23&Itemid=28
1
據我所知,標準ListBox窗口小部件只支持字符串作爲內容的一行。 不要沮喪,因爲我們可以輕鬆構建一個更強大的列表框,它可以包含小部件!
下面是我爲程序編寫的一些代碼。其結果是如下所示的照片(我畫了,所以我把它直接從相關文檔)
的TIPS:
- 我寫的代碼是用Perl使用Tcl :: Tk模塊,所以你可以很容易地將它改爲Perl/Tk
- 如圖所示,6個小部件構建一個數組@item,並且6個@item數組構建一個數組@cur_items,並且您可以從@cur_items開始查找任何小部件在這個列表中(因爲你已經知道序列)
- 我使用額外的幀來使這些小部件整齊,如果你只想組織兩個小部件,你可以忽略它們(但我建議使用幀)
- 請igno再小部件的名稱,如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. 是否有支持折行的Perl Tk文本小部件?
- 2. 帶有新列表的Tk combobox更新框
- 3. tk/tcl中的列表框
- 4. Perl tk - 條目窗口小部件之間的標籤
- 5. 如何獲取Perl/Tk Text小部件中的文本?
- 6. 管理Tk小部件?
- 7. 如何使用Tk模塊在perl中滾動框架小部件
- 8. Perl TK窗口部件銷燬
- 9. 使用Perl將命令添加到Tk中的列表框中
- 10. Perl TK - 將文本包裝到條目窗口小部件中
- 11. 在Perl-Tk中使用Button小部件執行命令
- 12. Tcl/Tk:條目+列表框:如何將其轉換爲小部件?
- 13. Perl/Tk的Scrolled僞部件是否有tkinter等價物?
- 14. 如何將TkCon(或其他Tk控制檯)作爲小部件嵌入?
- 15. 限制Tk條目小部件中輸入字符的數量
- 16. 列表框小部件。 Todo List
- 17. Perl TK打開文件夾
- 18. Tk標籤小部件不刷新
- 19. FLTK中有多列列表框小部件嗎?
- 20. 嵌入動畫matplotlib在tk
- 21. Perl TK調整大小窗口
- 22. Perl/tk,網格和調整大小
- 23. 使用Perl/Tk的多行輸入
- 24. 如何從Perl/TK中的子例程獲取調用者小部件?
- 25. FriendBuy嵌入的小部件不工作
- 26. Twitter的嵌入時間軸小部件
- 27. 在Perl結算文本框元素TK
- 28. Ruby Tk入口小部件不會更新文本變量
- 29. 帶有複選框的PHP列表框
- 30. 動態嵌入式Twitter小部件
它不支持從嵌入部件不錯的名字[我所看到的(HTTP:/ /search.cpan.org/~srezic/Tk-804.029/pod/HList.pod)。 –