一个Tkinter小部件,它在组合框小部件中使用Checkbutton小部件

ChecklistCombobox的Python项目详细描述


选中列表组合框

这个小部件是一个常规的ttk.组合框,而不是弹出列表框 窗口中,有一个复选框列表。它的设计功能几乎 与a相同ttk.组合框,除了一些边缘病例。学习 在tkinter中犯的错误,这个小部件是完全可定制的 tkinter允许。在

安装

要安装,您可以下载checklistcombobox.py把它放在你的 当前工作目录,或者您可以这样做

pip install ChecklistCombobox

说明

来自ttk.组合框不幸的是 因为大部分的tcl代码ttk.组合框需要 待更换。这会毁了其他普通人ttk.组合框小工具 附加到Tk()实例。相反,我们只是把东西放在 列表框。在

下面是一个用户可以访问的小部件树。树的深度表示 小部件堆叠。例如,ChecklistCombobox.popdown是子控件(子控件) 的复选框。在

^{pr2}$

用户只需调用它们就可以访问这些小部件中的任何一个。为 例如,要更改所有复选按钮的高度,可以执行以下操作:

cb = ChecklistCombobox(root,values=('1','2','3','4'))
for button in cb.checkbuttons:
	button.configure(height=2)

同样地,你可以做

cb = ChecklistCombobox(root,values=('1','2','3','4'))
cb.configure(checkbutton_height=2)

这是因为这个类以一种特殊的方式处理configure方法。这个 关键字被解析,然后根据 给它们加上前缀。支持的前缀是

popdown_
popdown_frame_
scrollbar_
canvas_
checkbutton_frame_
checkbutton_
checkbutton_selected_

前缀checkbutton_selected_可用于指定Checkbutton属性 当它们高亮显示时,但只有backgroundforegroundselectcoloractiveforeground、和{}。 使用popdown_frame_和{}时要小心,因为它们是特殊的 组合框弹出菜单专用的小部件。你可以列出他们的选择 正在做print(cb.popdown_frame.configure())。所有其他前缀都起作用 你会料到的。从tkinter小部件文档中获得一些选项X,您可以 可以使用更改选项

ChecklistCombobox.configure(prefix_X)

您甚至可以通过提供一个数组来分别配置checkbutton (listtuple,或numpy.ndarray)参数,其中元素具有相同的 order作为values关键字。在

以免混淆ttk.组合框tcl源代码 基于的代码已包含在该代码的底部。在

在这段代码的底部还有一个简短的测试程序,您可以通过 正在运行python checklistcombobox.py。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这个循环打印1020之间的所有值?我想让它打印出可以被5整除的值   java如何在JTable中集中单元格   java无法通过一个键从hashmap获取对象,该键具有相同的hashcode,并且两个键等于()   不兼容的类型?JAVA   将字符串开头与空格匹配时java replaceAll的正则表达式混淆结果   java为非java应用程序创建jar文件。类文件   java无法从另一个普通Http Servlet访问筛选器Servlet的会话属性   java Ejb,第二个方法中的错误回滚第一个方法   swing java操作侦听器在菜单上,而不是在菜单项上   分析文件时出错:分析文件时出错:无法在Java的XSSF中分析excel文件   java将实体注入到ViewScope Bean中   java如何关闭终端而不终止正在运行的jar文件进程   爪哇力下传   java不能隐式地将[T]强制转换为AT,其中[T]扩展为AT   java Spring项目在jsp页面中显示mysql表数据   java在创建新实例SQLITE时出错