我想为具有自定义设计的 python 程序创建一个 GUI,我在 Photoshop 中有一个模型,我正在寻找一个支持主题的库或任何其他可以完成这项工作的库。
我的 GUI 设计包含渐变、边框、边框半径和带有自定义最小化和关闭按钮的自定义标题栏,例如查看 Github client for Windows ,或任何 Adobe 软件安装程序。
我尝试了 wxPython,我使用 style=wx.NO_BORDER
删除了 Windows 添加的标题栏和默认边框,但我觉得我没有为这项工作使用正确的工具,并且我在某处读到 wxPython 主要用于原生外观 GUI,而不是用于这种定制,所以我应该寻找其他东西。
我在这里找到了一个答案,推荐使用 PyQT 和 QML 在 GUI 中进行高度定制,但是编译后的文件非常大。
那么我应该使用什么来创建自定义 GUI 呢?我也想编译该程序,因此我需要以合理的文件大小进行编译。
最佳答案
您使用 wxPython 的初始方法很好,您只需要为您的顶级 wx.Frame
添加几个样式标志:
wx.NO_BORDER ^ wx.SYSTEM_MENU ^ wx.MINIMIZE_BOX ^ wx.MAXIMIZE_BOX ^ wx.CLOSE_BOX
这不仅会删除边框,还会删除系统菜单和最小/最大/关闭框。
然后直接在顶部框架的客户区绘制您的图形用户界面背景。
看这个tutorial : 并注意 wx.DeviceContext
支持绘制位图和渐变填充。
现在制作您的自定义按钮并让它们在单击时发送 wx.CloseEvent
、wx.IconizeEvent
和 wx.MaximizeEvent
事件。使用绝对定位或 Sizer
将它们放置在您的自定义框架上。完成。
关于python - 如何为 python 程序创建自定义 GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860278/