Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tk滚动框?_Python_Scrollbar_Tkinter_Frame_Tk - Fatal编程技术网

Python tk滚动框?

Python tk滚动框?,python,scrollbar,tkinter,frame,tk,Python,Scrollbar,Tkinter,Frame,Tk,我正在使用Tkinter和Python创建一个简单的GUI应用程序,但在向单个框架添加滚动条时遇到了问题。在我的20英寸屏幕上,这个框架从上到下都是可见的,但为了在上网本或任何其他低分辨率屏幕上显示所有内容,它需要一个滚动条 虽然这对框架显然不起作用。你们在这个问题上的任何帮助都将不胜感激 我还想知道Tkinter是否已经过时。它是我在学校学到的唯一GUI界面,但那是几年前的事了,它已经不能满足我的要求了。肯定有更好的选择吗?我在Ubuntu上。Tkinter的框架小部件不会滚动。一个解决方案是

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

虽然这对框架显然不起作用。你们在这个问题上的任何帮助都将不胜感激


我还想知道Tkinter是否已经过时。它是我在学校学到的唯一GUI界面,但那是几年前的事了,它已经不能满足我的要求了。肯定有更好的选择吗?我在Ubuntu上。Tkinter的框架小部件不会滚动。一个解决方案是将整个框架放在画布上(作为画布对象),并将滚动条连接到画布上。您必须告诉画布可滚动区域有多大,这可以通过在画布上放置所有小部件后获取框架的大小来实现。不过,您可能需要重新考虑您的UI设计——无论使用什么GUI工具包,可滚动框架都不太容易使用

至于Tkinter是否过时……有人说是,有人说不是。那里有很多Tkinter的错误信息,所以对Tkinter的所有意见(甚至是我的意见)都持保留态度.Tkinter继续改进,但并未停滞不前。如果您有机会使用python 2.7或更高版本,您可以访问ttk小部件,这些小部件提供特定于平台的主题和其他小部件,如笔记本和层次结构树等

在我的经验中,它似乎比tkinter有更多的bug和怪癖,但是它有更多的小部件,而且似乎更受欢迎


我喜欢认为,tkinter和wxPython之间的区别就像家得宝(一家家装店/庭院店)和宜家(你自己组装的预制家具)之间的区别一样——一个给你所有零碎的东西来做你想要的任何东西(tkinter)另一种方法提供了大量预打包的内容。每种方法都有其优缺点。

感谢您的全面回复!我将重新考虑UI设计,因为在画布中乱放框架似乎是一种混乱的解决方法,而不是“真正的解决方法”“解决方案。我还会看一看wxPython,不过如果它没有提供任何新的和令人兴奋的东西,我可能会在这个项目中使用Tkinter。
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)