最近开始由于项目需要开始接触python,感触良多,python是一种十分精简的语言,既符合面向对象,又有很多开源的库可以借鉴,非常的方便
下面我这里讲一下python GUI编程,当然这是最简单的了:
一,环境配置
安装python 环境:sudo apt-get install python
安装下面几个wx库:
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
就这样简单的几句话我们就可以编写基本的带有UI界面的应用程序了,
如果想操作i2c等硬件python也是给我们做好了最基本的库了:
本帖最后由 jinpeng 于 2016-2-2 15:46 编辑
安装python 环境:sudo apt-get install python
安装下面几个wx库:
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
说明:这个是python UI编程库的一种,有兴趣的可以安装其他类似的库,比如:Tkinter ,Pyqt等
我们这里只是讲解使用wx模块最基本的部分,如果安装这几个库之后需要做更深入的开发,可以搜索其他的库
如果需要通过python操作i2c或者serial等可以安装下面这几个库:
sudo apt-get install python-pip git libi2c-dev python-serial i2c-tools python-smbus
二,例子
#filename:helloworld.py
import wx
class MainPanel(wx.Panel):
""""""
#----------------------------------------------------------------------
def __init__(self, parent):
"""Constructor"""
wx.Panel.__init__(self, parent=parent)
#self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
self.frame = parent
sizer = wx.BoxSizer(wx.VERTICAL)
hSizer = wx.BoxSizer(wx.HORIZONTAL)
button_hello = wx.Button(self, label="hello", pos=(25,110))
button_hello.Bind(wx.EVT_BUTTON, self.button_hello)
value_text = wx.TextCtrl(self,-1,'say:',size=(150,30),pos=(140,110))
self.value_text=value_text
def button_hello(self, event):
self.value_text.AppendText("Hello World!")
class MainFrame(wx.Frame):
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, title="Hello world", size=(400,300)) # Set the fram size
panel = MainPanel(self)
self.Center()
class Main(wx.App):
def __init__(self, redirect=False, filename=None):
""" this is the UI Constructor"""
wx.App.__init__(self, redirect, filename)
dlg = MainFrame()
dlg.Show()
if __name__ == "__main__":
app = Main()
app.MainLoop()
在shell终端运行:sudo python helloworld.py
运行效果:点击hello按钮提示say Hello world!