python的桌面UI设计和处理,使用wxPython + wxFromBuilder是一个相对简单的方案。
1.下载
用pip install wxpython下载最新的wxPython。
2.下载wxfrombuilder
wxFormBuilder下载链接 ,这个是直接用来拖拽用的。
3.打开wxformbuilder,
1.先点forms里面的Frame,开始的时候必须用这个,其他控件都是在里面。在Layout里面选择一个布局。布局就是用来将Frame分成单独的小方格。各种布局都不一样,有的是只有行没有列,有的是行列都可以。根据需要添加即可。
2.在common里面选择基础的按钮等控件。在这里很难控制好位置,因为只有选定好了在哪个方格里,添加的时候才能添加。添加后的位置不好变化。所以,必须先设计好正规布局,然后再往里面添加小控件。
如果不满意都是在左侧,可以在上面中选择是居中还是左对齐。
3.按键事件
这时在代码中可以看到有按键事件函数
4.生成python代码或C++等其他代码
给该项目一个合适的名字,并选择Python作为代码生成语言。 在对象属性窗口,如图下图
保存该项目,然后按F8键生成 Python代码开发的GUI。让生成的文件命名为Demo.py
5.将Demo.py在集成开发环境中打开,编写Demo.py中的代码,特别是按键事件函数的实现
接着新建一个main.py文件,导入Demo.py,声明Application对象并启动主事件循环。以下是可执行代码 -
main文件内容如下;
import wx
#import the newly created GUI file
import Demo
class CalcFrame(demo.MyFrame1):
def __init__(self,parent):
demo.MyFrame1.__init__(self,parent)
#按键事件触发函数
def btn_submit(self,event):
num = int(self.m_textCtrl1.GetValue())
self.m_textCtrl2.SetValue (str(num*num))
def main():
app = wx.App(False)
frame = CalcFrame(None)
frame.Show(True)
#start the applications
app.MainLoop()
if __name__ == '__main__':
main()
运行结果: