有没有人知道一个GUI设计应用程序,它允许您选择/拖放小部件,然后使用适当的Tkinter调用&amp ;;将该布局转换为Python代码。使用grid
几何管理器安排?到目前为止,我已经找到了一些我可能最终使用的相当不错的选项,但他们使用pack
或place
生成代码。
在您说出来之前:是的,我知道Tkinter很容易学习,是的,我找到了多个在线资源来帮助我这样做,而且我已经开始了。这不是关于避免学习的努力,而是关于使用正确的工具来完成工作。我很久以前就发现那些用于编码程序逻辑的拖放小部件环境,当项目超出一定的大小时,它们太笨拙且无法管理 - 对于更大的东西,它更容易构建和维护逻辑当它是纯文本。最近我发现设计GUI的反面也是如此。编写文本可以达到某种程度,但是当你有一个包含30或40个小部件的主窗口,再加上几个具有相似复杂性的侧窗时,如果你可以用图形方式设计它而不是全部输入它,它会更快更容易
答案 0 :(得分:38)
除了已在其他答案中提供的选项外,还有一个名为pygubu
的当前更活跃,最近和开源的项目。
这是作者从github存储库中获得的第一个描述:
Pygubu是一个RAD工具,可以快速启用&易于开发的用户 python tkinter模块的接口。
设计的用户界面保存为XML,并使用pygubu 这些构建器可以根据需要动态加载。 Pygubu的灵感来自Glade。
Pygubu hello world program是介绍如何使用Pygubu
创建第一个项目的介绍性视频。
以下是OS X Yosemite 10.10.2上pygubu
设计器的最新版本界面的图像:
我肯定会尝试一下,并为其发展做出贡献。
答案 1 :(得分:25)
您有 VisualTkinter 也称为Visual Python。 发展似乎不活跃。您有sourceforge和googlecode个网站。网站is here。
另一方面,你有PAGE看起来很活跃,可以在python 2.7和py3k中运行
正如您在评论中指出的那样,这些评论中没有一个使用grid
几何图形。据我所知,唯一可以做到这一点的GUI构建器可能是 Komodo Pro GUI Builder ,它已经停止并在ca.中开源。 2007年。代码位于SpecTcl repository。
似乎在win7上安装得很好,虽然尚未使用它。这是我个人电脑的截图:
顺便说一下,Rapyd Tk还有计划实施网格几何,就像在其文档中说它尚未准备就绪一样#39;。不幸的是,它似乎已经差不多了。弃。
答案 2 :(得分:24)
使用网格进行布局的最佳工具,恕我直言,是方格纸和铅笔。我知道你要求某种类型的程序,但它确实有效。我已经做了几十年的Tk编程,所以布局对我来说非常容易,但是当我有一个复杂的GUI时,我仍然会打破方格纸。
要考虑的另一件事是:Tkinter几何管理器的真正力量来自于它们的使用*。如果你打算只使用网格,或者只打包,你做错了。相反,首先在纸上设计GUI,然后寻找最能通过其中一种解决的模式。 Pack是某些类型布局的正确选择,而grid是其他布局的正确选择。对于一小部分问题,地方是正确的选择。不要仅限于使用其中一个几何管理器。
*使用两个几何管理器的唯一警告是每个容器应该只使用一个(容器可以是任何小部件,但通常它将是一个框架)。