在一个窗口中做多屏项目的最佳Python GUI模块是什么?

4 投票
3 回答
3001 浏览
提问于 2025-04-17 12:25

我不太确定怎么描述,所以我这里有一个简单的故事板,展示我想用Python做的事情:https://i.stack.imgur.com/dciMH.jpg

我对图形用户界面(GUI)编程还很陌生,所以不太确定哪个Python模块最适合这个项目。我稍微看了一下Tkinter。请问在Tkinter中,如何在按下“下一步”按钮后,让屏幕切换到第二张图片,而不打开一个新窗口呢?

另外,你能推荐一些其他适合我这个项目的Python GUI模块吗?

3 个回答

0

我在pygtk中做了这个,使用了一个带有隐藏标签的选项卡控件。你可以在glade中设计这个界面,然后在代码里自动切换选项卡。

不过现在如果我有新项目的话,我可能会选择QT,虽然我还没用过。

0

我推荐使用 wxPython。

如果事情比较简单,就用 wxPython 来做吧。

1

Tkinter是一个非常不错的工具包,其他工具包也是如此。Tkinter的一个优势是你可能已经安装了它。而且,它使用起来非常简单,同时功能也很强大。

关于你问的如何让屏幕变化的问题:Tkinter使用了一些叫做packgrid的布局管理器(还有一个不太常用的place)来安排窗口里的小部件。这些布局管理器的一个特点是可以让你把一个窗口移除,使其变得不可见。

比如,你可以把每个“页面”创建为一个Frame,里面放其他小部件。要切换页面,你可以调用pack_forgetgrid_forget来隐藏当前页面,然后再用packgrid来显示新页面。这是一种非常常见且有用的技巧。grid_remove还有一个额外的好处,就是它会记住最初显示窗口时使用的选项,这样在切换可见和不可见时会更方便一些。

撰写回答