我想为具有自定义设计的python程序创建GUI,我在Photoshop中有一个模型,我正在寻找一个支持主题的库或任何其他可以完成此工作的库。

我的GUI设计包含渐变,边框,边框半径和带有自定义最小和关闭按钮的自定义标题栏,例如查看Github client for Windows或任何Adobe软件安装程序。

我尝试了wxPython,我使用style=wx.NO_BORDER删除了标题栏和Windows添加的默认边框,但是我觉得我没有使用正确的工具来完成这项工作,而且我读到某处wxPython主要用于 native 外观GUI,但这并不意味着对于这种定制,我应该寻找其他东西。

我在这里找到了一个建议使用PyQT和QML在GUI中进行高度自定义的答案,但是编译后的文件尺寸很大。

那么,我应该使用什么来创建自定义GUI?我也希望编译该程序,因此我需要使用合理的文件大小来进行编译。

最佳答案

您最初使用wxPython的方法很好,您只需要为顶部wx.Frame添加更多样式标记:

wx.NO_BORDER ^ wx.SYSTEM_MENU ^ wx.MINIMIZE_BOX ^ wx.MAXIMIZE_BOX ^ wx.CLOSE_BOX

这不仅会删除边框,还会删除系统菜单和最小/最大/关闭框。

然后直接在顶部框架的客户区域上绘制gui背景。
请参阅此tutorial,并注意wx.DeviceContext支持绘制位图和渐变填充。

现在创建您的自定义按钮,并让它们在单击时发布wx.CloseEventwx.IconizeEventwx.MaximizeEvent事件。使用绝对定位或Sizer将它们放置在您的自定义框架上。完毕。

关于python - 如何为python程序创建自定义GUI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17860278/

10-13 07:31