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

什么时候在tkinter中使用包或网格布局?

魏澄邈
2023-03-14
问题内容

是否有最佳实践提示有关何时应使用包式或网格式布局?

根据我一直在通过google阅读的内容,似乎是网格可以处理任何打包情况,但反之则不行。

开始对话时,似乎一个偏爱网格而不是打包的用例是当人们想要显示/隐藏小部件时。


问题答案:

两者在本质上都不比另一个更好。每个都有优点和缺点。了解这些是什么,使用哪种选择变得显而易见。

grid如果您需要将内容放置在网格中,则使用起来非常容易。pack如果您需要做的只是将一些小部件放在单行或单列中,则通常更易于使用。在它们之间有很多灰色区域,其中两个区域不一定都比另一个区域要好。

要考虑的另一件事是您在问题中所说的话:如果您想在运行时显示和隐藏小部件,grid则可能是最佳选择,因为这种grid_remove方法会记住所有已配置属性的值,以防您想要重新添加小部件。

就我个人而言,我的首选始终是使用,pack因为我在没有grid命令的情况下首先学习了Tk
。如果无法轻松进行操作pack,或者非常清楚地将内容放置在网格中,则可以使用grid



 类似资料:
  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • 问题内容: 使用弱引用是我从未见过的实现方式,因此,我试图弄清楚它们的用例是什么以及实现将如何工作。你何时需要使用WeakHashMap或WeakReference以及如何使用它? 问题答案: 强引用的一个问题是缓存,尤其是对于非常大的结构(如图像)而言。假设你有一个必须处理用户提供的图像的应用程序,例如我正在使用的网站设计工具。自然地,你想缓存这些图像,因为从磁盘加载它们非常昂贵,并且你希望避免

  • 问题内容: 我有一个将客户发送到另一个站点来处理付款的应用程序。客户之外的另一个站点在我们的服务器上调用一个页面,让我们知道付款的状态。被调用页面会检查付款应用程序提供的参数,并检查我们是否知道该交易。然后,它更新数据库以反映状态。这一切都无需与客户进行任何互动即可完成。 我个人选择将此功能实现为JSP,因为将文件拖放到文件系统中比编译和打包文件然后将条目添加到配置文件中要容易得多。 考虑到页面的

  • 我创建了一个类(正如书中所说)来保存从键盘输入的一个人的姓名和姓氏,然后还有另一个类,它将一个人的国家代码、区号和号码封装为字符串 Person将用作Hashmap中的键 Class封装了和。许多对象组成了一个表示电话簿的HashMap。 实现了

  • 问题内容: 我怎么能说: 为什么函数调用中不需要括号,而最后一行呢? 问题答案: 是一个功能 调用该函数并产生该函数返回的任何值。 setTimeout的目的是在一段时间后运行代码。你需要的功能只是传递给它(这样的setTimeout可以自称在适当的时候函数),因为如果你将它传递给setTimeout的前调用的函数(用括号),将执行 现在 而不是1秒后,。

  • 一般来说,当发现 CPU 的占用率和实际业务应该出现的占用率不相符,或者对 Nginx worker 的资源使用率(CPU,内存,磁盘 IO )出现怀疑的情况下,都可以使用火焰图进行抓取。另外,对 CPU 占用率低、吐吞量低的情况也可以使用火焰图的方式排查程序中是否有阻塞调用导致整个架构的吞吐量低下。 常用的火焰图有三种: lj-lua-stacks.sxx 用于绘制 Lua 代码的火焰图 sam

  • 问题内容: 在Swift中,我看到一些类似的方法: 我想知道何时使用@objc?我读了一些文档,但他们说要在Objective-C中调用它时,应添加@objc标志 但是,这是Swift中的私有函数,@ obj的作用是什么? 问题答案: private表示仅在Swift中可见。因此使用@objc在Objective-C中可见。如果您有功能可以快速选择私有功能,则需要此功能。 @objc属性使您的Sw

  • 问题内容: 我怕可变参数。我不知道该怎么用。 另外,让人们随心所欲地传递争论是很危险的。 什么样的上下文示例将是使用它们的好地方? 问题答案: 对于需要处理不确定数目的对象的任何方法,Varargs都是有用的。一个很好的例子是。格式字符串可以接受任意数量的参数,因此你需要一种机制来传递任意数量的对象。