我想为具有自定义设计的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.CloseEvent
,wx.IconizeEvent
和wx.MaximizeEvent
事件。使用绝对定位或Sizer
将它们放置在您的自定义框架上。完毕。关于python - 如何为python程序创建自定义GUI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17860278/