我对代码做了一些修改;这可能不是你想要的,但你应该觉得它有帮助。

列表框宽度和高度选项不是像素测量;它们用字符指定尺寸,所以height=12使得列表框12的文本行高,并且width=40使得列表框40个字符宽。

import tkinter as tk

def test():

root = tk.Tk()

lst = [' 1', '2', ' 3', '4', '5', ' 6', '7', '8', ' 9', '10']

a = MovListbox(root, lst)

a.grid(row=0, column=0, columnspan=2, sticky=tk.N)

a.setup_style(12, 40, tk.EXTENDED)

root.mainloop()

class MovListbox(tk.Listbox):

def __init__(self, master=None, inputlist=None):

super(MovListbox, self).__init__(master=master)

# Populate the news category onto the listbox

for item in inputlist:

self.insert(tk.END, item)

def setup_style(self, height=10, width=20, mode=tk.EXTENDED):

self.config(height=height, width=width, selectmode=mode)

if __name__ == '__main__':

test()

如果你愿意,你可以删除a.setup_style(12, 40, tk.EXTENDED)呼叫test(),而是做

self.setup_style(12, 40, tk.EXTENDED)

在MovListbox.__init__()方法结束。

我已将您的list变量更改为lst。 list对于变量名不是一个好的选择,因为它会掩盖内置的list类型,这可能会造成混淆,并且还会导致不可思议的错误。

super内置函数用于访问父类的方法。从the docs:

super([type[, object-or-type]])

Return a proxy object that delegates method calls to a parent or sibling class of type. This is useful for accessing inherited methods that have been overridden in a class. The search order is the same as that used by getattr() except that the type itself is skipped.

因此

super(MovListbox, self).__init__(master=master)

说调用父类的MovListbox类的__init__方法,换句话说,tk.Listbox.__init__方法。我们需要这样做,因为MovListbox是从tk.Listbox派生的,我们需要为我们的MovListbox实例设置所有常用的Listbox内容,然后才能开始使用它,例如从inputlist插入字符串。

如果派生类没有定义自己的__init__方法,则在创建派生类的实例时,会自动调用父项的__init__方法。但是因为我们已经为MovListbox定义了一个__init__方法,所以新的__init__被调用。因此,为了使MovListbox能够正常执行Listbox初始化,我们需要手动调用Listbox的__init__,而惯用的方法是使用super。

实际上,在Python 3,那super调用可以简化为:

super().__init__(master)

我以前使用的形式是在Python 2。但是必要的,super仅适用于新的样式类(唯一的那种Python 3支持的类),但不幸的是,Python 2 Tkinter使用古老的旧式类作为它的小部件,并且在这样的类上调用super会产生TypeError异常。:(当与老式类的工作,我们必须明确指定的父类,这样做呼叫:

tk.Listbox.__init__(self, master)

这句法也是在Python 3有效的,但它通常最好使用super时,它的可用

python listbox大小_python 3.5 tkinter.listbox更改大小相关推荐

  1. python showinfo 方法_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

    Tkinter支持16个核心的窗口部件,这个16个核心窗口部件类简要描述如下: Button:一个简单的按钮,用来执行一个命令或别的操作. Canvas:组织图形.这个部件可以用来绘制图表和图,创建图 ...

  2. python gui模板_Python GUI 编程(Tkinter) | 菜鸟教程

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  3. python视窗编程_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

    Tkinter支持16个核心的窗口部件,这个16个核心窗口部件类简要描述如下: Button:一个简单的按钮,用来执行一个命令或别的操作. Canvas:组织图形.这个部件可以用来绘制图表和图,创建图 ...

  4. python设置坐标轴刻度值字体大小_python 设置xlabel,ylabel 坐标轴字体大小,字体类型...

    本文介绍了python 设置xlabel,ylabel 坐标轴字体大小,字体类型,分享给大家,具体如下: #--coding:utf-8-- import matplotlib.pyplot as p ...

  5. python获取对象的大小_Python实现计算对象的内存大小示例

    本文实例讲述了Python实现计算对象的内存大小.分享给大家供大家参考,具体如下: 一般的sys.getsizeof()显示不了复杂的字典. 查看类中的内容: def dump(obj): for a ...

  6. python 可执行文件大_python – 如何使用pyinstaller创建最小大小的可执行文件?

    我在 Windows 10上,我安装了anaconda但是我想在一个新的,干净的最小环境中使用python 3.5独立创建一个可执行文件.所以我做了一些测试: TEST1: 我在文件夹testenv中 ...

  7. python字体类型_python 设置xlabel,ylabel 坐标轴字体大小,字体类型

    本文介绍了python 设置xlabel,ylabel 坐标轴字体大小,字体类型,分享给大家,具体如下: #--coding:utf-8-- import matplotlib.pyplot as p ...

  8. python字体大小_python 设置xlabel,ylabel 坐标轴字体大小,字体类型

    本文介绍了python 设置xlabel,ylabel 坐标轴字体大小,字体类型,分享给大家,具体如下: #--coding:utf-8-- import matplotlib.pyplot as p ...

  9. python比较字符串大小_Python中如何进行字符串比较大小?

    在Python中,我们会经常使用到字串符,用于编码码字.有的时候会需要比较字符串大小.本文主要介绍Python字符串比较大小方法:字符串的比较是比较ASCII码值 ,哪个值大哪个字符串就大.另外也可通 ...

最新文章

  1. 人脸对齐--Pose-Invariant Face Alignment with a Single CNN
  2. java emptylist_Java中Collections的emptyList、EMPTY_LIST详解
  3. jdk安装教程_在JDK 12精简数字格式中使用最小分数数字
  4. [react] React根据不同的环境打包不同的域名?
  5. 解决微信小程序开发中wxss中不能用本地图片
  6. 数据批量删除_从页面js到后台数据库
  7. 【微服务直播】60分钟掌握微服务治理之道
  8. radius服务器搭建
  9. 软考中级职称 软件工程师 学习知识点记录
  10. 高频电子线路实验 03 - | 环形混频与直接调频
  11. 保护你的端口(转自赛迪网)
  12. 艾森豪威尔法则(四象限法则)
  13. SAP内部培训效果考察表存档
  14. 1x pcie 速度_PCIe传输速率计算方法
  15. Javascript 如何实现继承?
  16. IDEA添加gitlab仓库并上传代码(无需使用任何git指令),报错Ask a project Owner or Maintainer to create a default branch解决方案
  17. IT职场生活工作感悟
  18. 非隔离开关电源相关知识理解汇总
  19. programming collective intelligence 读书笔记(一):配置eclipse+pydev环境,运行delicious模块
  20. 开发者藏经阁——超全阿里系电子书大合集(打包下载)

热门文章

  1. android 编译luajit,【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库
  2. Bugtags - App 测试 · 从未如此简单
  3. HDLC、PPP综合实验
  4. 修筑产学研用一体化的通衢,从一场比赛背后瞭望苏州园区人才培养新范式
  5. 关于 App Store 苹果商店价格的那些事(历上最全版)
  6. axure 画小程序效果图_【附源文件】5款精美小程序原型设计模板,触手可得
  7. MTK相机调试adb命令
  8. 基于springboot冷链物流信息调度系统毕业设计源码210951
  9. 【android极光推送】—从客户端到后台,一文通吃
  10. uva 109 SCUD Busters-AC-Upgraded version