当前位置: 首页 > 面试题库 >

Python中tkinter和tkinter.ttk的小部件之间有什么区别?

司马彬
2023-03-14
问题内容

tkinter模块和子模块其ttk在Python 3看起来包含相同窗口小部件(即ButtonsCheckButtons等)。

因此,在创建按钮时,可以自由使用tkinter.Button小部件或tkinter.ttk.Button

你知道它们有什么区别吗?为什么要选择一个?


问题答案:

内的窗口小部件tkinter高度易于配置。您几乎可以完全控制它们的外观-边框宽度,字体,图像,颜色等。

ttk窗口小部件使用样式来定义外观,因此,如果要使用非标准按钮,则需要花费更多的工作。ttk小部件的文档也很少。了解基本主题和布局引擎(布局小部件本身内,不packgridplace)是一个挑战。

一般而言,主题小部件将为您提供看起来更“本机”的应用程序,但会损失可配置性。

我的建议是,ttk如果要使GUI看起来更现代,请使用小部件,如果需要更多可配置性,请使用tkinter小部件。您可以在同一应用程序中使用它们。



 类似资料:
  • 问题内容: 当我回答Tkinter问题时,我通常会尝试自己运行代码,但有时会出现以下错误: 当我看问题时,我看到它们以小写的t导入: 我总是输入大写的T: 总是对我有用。和之间有什么区别? 问题答案: 这很简单。 对于python2,它是: 对于python3,它是: 这是您如何一劳永逸地忘记这种混乱的方式:

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 问题内容: Python模块和Python包之间有什么区别? 问题答案: 模块是单个文件(一个或多个文件),可在一个导入下导入并使用。例如 包是目录中提供包层次结构的模块的集合。

  • 问题内容: 我是AngularJS的新手。谁能解释一下这些AngularJS运算符之间的区别:用适当的示例隔离范围时。 问题答案: 允许将在指令属性上定义的值传递到指令的隔离范围。该值可以是简单的字符串值(),也可以是带有嵌入式表达式()的AngularJS插值字符串。可以将其视为从父作用域到子指令的“单向”通信。约翰·林德奎斯特(John Lindquist)进行了一系列简短的电视广播,解释了每

  • 问题内容: 对于“属性”和“属性”之间的区别,我通常感到困惑,并且找不到很好的资源来简洁地详细说明这些区别。 问题答案: 属性是一种特殊的属性。基本上,当Python遇到以下代码时: 它查找中,然后检查,看它是否有一个,或方法- 如果这样做,这是一个性质。如果它 是 一个属性,则不仅会返回该对象(就像对其他任何属性一样),还会调用该方法(因为我们一直在进行查找),并返回该方法返回的内容。 有关Py

  • 问题内容: 我是AngularJS的新手。谁能解释一下这些AngularJS运算符之间的区别:用适当的示例隔离范围时。 问题答案: 允许将在指令属性上定义的值传递到指令的隔离范围。该值可以是简单的字符串值(),也可以是带有嵌入式表达式()的AngularJS插值字符串。将其视为从父作用域到子指令的“单向”通信。 允许指令的隔离范围将值传递到父范围中,以便在属性中定义的表达式中进行求值。请注意,指令