在Python的Tkinter中无法创建类似于桌面的容器

4
我需要在Python中制作一个桌面容器类的框架,这样从菜单栏中选择选项时,窗口将在该桌面窗格中打开,就像我们处理专业应用程序一样。
以下是GUI的快照。在快照中,上面的菜单栏有很多级联选项。当用户选择级联选项时,新窗口应该在菜单栏下方(空白处)打开,并且在选择其他选项时,前一个框架也应该存在,这些子框架还应该有关闭、最小化和最大化按钮(例如,最小化最小化到状态栏上方的框架空间底部)。
1个回答

3
你正在尝试创建一个常被称为"多文档界面"(MDI)的界面。这在80年代和90 年代早期很流行,但现在普遍认为它提供了非常糟糕的可用性。
Tkinter不支持原生的MDI应用程序。您需要自己管理所有窗口。通常这意味着您将使用画布作为包含窗口,然后嵌入帧到画布中以表示窗口。您将需要绘制自己的窗口边框并处理大小调整。我见过有人这样做,但实施起来通常不值得努力。

它是否已经改变了?因为在这里https://sodocumentation.net/tkinter上我读到:注意:可以从几乎任何tkinter小部件继承,包括根窗口。从tkinter.Frame继承至少可以说是最灵活的,因为它支持多文档界面(MDI),单文档界面(SDI),单页面应用程序和多页面应用程序。 - pippo1980
1
@pippo1980:不,没有任何改变。多文档界面(MDI)应用程序已经几十年来都不被认为是良好的用户界面。 - Bryan Oakley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接