dos命令窗口,输入命令
pip install -U wxPython
创建一个wx.App的子类
import wx
class App(wx.App):
def OnInit(self):
frame=wx.Frame(parent=None,title='Hello')
frame.Show()
return True
if __name__ == '__main__':
app=App()
app.MainLoop() #调用App类的MainLoop()主循环方法
通常在系统中只有一个窗口的话,可以不创建wx.App子类,直接使用wx.App。
这个类提供了最基本的OnInit()初始化方法,具体如下:
import wx
app=wx.App()
frame=wx.Frame(None,title='Hello World')
frame.Show()
app.MainLoop()
Wx. Frame(parent, id=-1, title="",pos=wx.DefaultPosition, size=wx.DefaultSize,
style=wx.DEFAULT_FRAME_STYLE, name= "frame”)
参数说明:
import wx
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,title='hello',pos=(100,100),size=(300,300))
if __name__ == '__main__':
app=wx.App()
frame=MyFrame(parent=None,id=1)
frame.Show()
app.MainLoop()
WX. StaticText (parent, id, label, pos=wx.DefaultPosition, size=wx.DefaultSize,
style=0, name=" staticText" )
import wx
#StaticText 文本类
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,title='文本类',pos=(100,100),size=(400,400))
panel=wx.Panel(self) #创建画板
#创建标题,并设置字体
title=wx.StaticText(panel,label='这是标题',pos=(100,20))
font=wx.Font(16,wx.DEFAULT,wx.FONTSTYLE_NORMAL,wx.NORMAL)
title.SetFont(font)
#创建文本
wx.StaticText(panel,label='这是内容',pos=(50,50))
if __name__ == '__main__':
app=wx.App()
frame=MyFrame(parent=None,id=-1)
frame.Show()
app.MainLoop()
Wx. TextCtrl( parent,id,value="", pos=wx.DefaultPosition, size=wx.DefaultSize,
sty1e=0, validator=wx.DefaultValidator name=wx.TextCtrlNameStr)
**style:**单行wx.TextCtrl的样式,取值及说明如下:
◆ **wx.TE_ CENTER:**控件中的文本居中。
◆ **wx.TE_ LEFT:**控件中的文本左对齐。默认行为。
◆ **wx.TE_ NOHIDESEL:**文本始终高亮显示,只适用于Windows。
◆ wx.TE_ PASSWORD: 不显示所键入的文本,以星号(*) 代替显示。
◆ wx.TE_ PROCESS_ ENTER: 如果使用改参数,那么当用户在控件内按下键时,一个文本输入事件将被触发;否则,按键事件内在的由该文本控件或该对话框管理。
◆ **wx.TE_ PROCESS_ TAB:**如果指定了这个样式,那么通常的字符事件在键按下时创建(一般意味-一个制表符将被插入文本);否则,键由对话框来管理,通常是控件间的切换。
◆ **wx.TE_ READONLY *文本控件为只读,用户不能修改其中的文本。
◆ **wx.TE_ RIGHT *控件中的文本右对齐。
**value:**显示在该控件中的初始文本。
**validator:**常用于过虑数据以确保只能键入要接受的数据。
import wx
#TextCtrl输入文本类
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,title='文本类',size=(400,400))
#创建面板
panel=wx.Panel(self)
#创建文本和输入框
self.title=wx.StaticText(panel,label="请输入用户名",pos=(140,20))
self.label_user=wx.StaticText(panel,label='用户名',pos=(50,50))
self.text_user=wx.TextCtrl(panel,pos=(100,50),size=(235,25),style=wx.TE_LEFT)
if __name__ == '__main__':
app=wx.App()
frame=MyFrame(parent=None,id=-1)
frame.Show()
app.MainLoop()
#### Button 按钮类
WX.Button( parent, id, label, pos, size=wxDefaultSize, style=0,validator, name= "button")
self.bt_confirm=wx.Button(panel,label="确定",pos=(105,130))
bt_ confirm. Bind(Wx. EVT_ _BUTTON, OnclickSubmit)
self.bt_confirm=wx.Button(panel,label="确定",pos=(105,130))
self.bt_confirm.Bind(wx.EVT_BUTTON,self.OnclickSubmit)
def OnclickSubmit(self,event):
username=self.text_user.GetValue()
wx.MessageBox(username)