繁体   English   中英

Python tk滚动框架?

[英]Python tk scroll frame?

我正在使用Tkinter和Python创建一个简单的GUI应用程序,但是我在向单个框架添加滚动条时遇到了问题。 框架在我的20英寸上从上到下可见,但是为了在上网本或任何其他低分辨率屏幕上显示所有内容,它需要一个滚动条。这是我认为它将如何工作的片段(它与列表框一起)。

framelist = Tkinter.Frame(self.pmaster, relief=FLAT, borderwidth=0)
framelist.pack(fill=BOTH, padx=0, pady=0)
yscroll = Tkinter.Scrollbar(framelist, width=10, orient=VERTICAL)
yscroll.pack(fill=Y,side=RIGHT,padx=0,pady=0)

虽然这显然不适用于帧。 我们将非常感谢您对此问题的任何帮助!

我也想知道Tkinter是否会过时。 这是我在学校学到的唯一一个GUI界面,但几年前就已经不再符合我的要求了。 当然必须有更好的选择吗? 我在Ubuntu顺便说一下。

tkinter的框架小部件不会滚动。 一种解决方案是将整个框架放在画布中(作为画布对象),并将滚动条附加到画布上。 你必须告诉画布可滚动区域有多大,你可以通过在放置所有小部件后获得框架的大小来做到这一点。 但是,您可能想重新考虑您的UI设计 - 无论您使用哪种GUI工具包,可滚动框架都不是很容易使用。

至于Tkinter是否过时......有人说是,有些人说不。 那里有很多tkinter错误的信息,所以拿出所有的tkinter意见(即使是我的!)。 Tkinter继续改进,它并没有停滞不前。 如果您可以使用python 2.7或更高版本,则可以访问ttk小部件,这些小部件提供特定于平台的主题和其他小部件,例如笔记本和分层树等。

对于替代方案,您可能需要查看wxPython。 根据我的经验,它似乎比tkinter有更多的错误和怪癖,但有更多的小部件,似乎更受欢迎。

我觉得tkinter和wxPython之间的区别就像Home Depot(一个家居装修/腰部商店)和Ikea(你自己组装的预制家具)之间的区别 - 一个给你所有的点点滴滴任何你想要的东西(tkinter)另一个给你很多预包装的东西。 每种方法都有其优点和缺点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM