安装了这么多包,我发现我的pycarm演我,好多包安装很卡,而且无法使用镜像安装,然后我发现win中的CMD似乎更好用一些,加上镜像也是嘎嘎快
wxPython安装
pip install wxPython
#直接安装
pip install wxPython -i 镜像网址
#镜像网址(现在为了安全,基本上不允许http的安装,所以我就加了s,即"https")仅供参考,个人理解
#https相比http加密了更安全,好像是这样
#清华:https://pypi.tuna.tsinghua.edu.cn/simple
#阿里云:https://mirrors.aliyun.com/pypi/simple/
#中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
#华中理工大学:https://pypi.hustunique.com/
#山东理工大学:https://pypi.sdutlinux.org/
#豆瓣:https://pypi.douban.com/simple/
基本代码问路
import wx
app = wx.App()
frame = wx.Frame(None,title="hello world!",size = (500,300))
#创建一个Frame窗体
frame.Show()
#show()将Frame窗体展示出来
app.MainLoop()
#循环防止一闪而过
运行结果
加上画布
组件应用
文本组件
class MainWindow(wx.Frame):
def __init__(self,parent,title,size):
#没有加入画布,单独组件全屏显示
wx.Frame.__init__(self,parent,title=title,size=size)
# 文本框控件,style表示文本框的风格
self.control = wx.TextCtrl(self,style = wx.TE_MULTILINE)
#te_multiline多线的,即回车可以用换行
# self.control = wx.TextCtrl(self,style = wx.TE_PASSWORD)
#default(缺省)_dialog(对话)_style,输入文字全部变成了小圆点,且无法复制
#控件风格很多种,但是常用的应该就是多线了
self.Show(True)
app = wx.App()
frame = MainWindow(None,'frame1',(400,400))#将参数传入
app.MainLoop()
运行结果
菜单栏组件
import wx
class MainWindow(wx.Frame):
def __init__(self,parent,title,size):
wx.Frame.__init__(self,parent,title=title,size=size)
filemenu = wx.Menu()#创建菜单栏
menuBar = wx.MenuBar() #创建菜单栏内容框
menuBar.Append(filemenu, "文件") #栏中内容框加入“文本”
menuAbout = filemenu.Append(wx.ID_ABOUT, "关于", "about状态栏信息")#加入菜单栏信息
filemenu.AppendSeparator() # Separator分隔符
menuExit = filemenu.Append(wx.ID_EXIT, "退出", "exit状态栏信息")
self.SetMenuBar(menuBar)#将以上拼接好的组件,添加入Frame(self这里就是Frame)
self.Show(True)
app = wx.App()
frame = MainWindow(None,'Hello World!',(500,200))#将参数传入
app.MainLoop()
运行结果
状态栏
import wx
class MainWindow(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent,title=title,size=(400,300))
self.control = wx.TextCtrl(self,style = wx.TE_MULTILINE)
self.CreateStatusBar()#创建静态状态栏
#设置菜单
filemenu = wx.Menu()
#添加菜单栏信息
menuAbout = filemenu.Append(wx.ID_ABOUT,"关于","about状态栏信息")
filemenu.AppendSeparator()#Separator分隔符
menuExit = filemenu.Append(wx.ID_EXIT,"退出","exit状态栏信息")
#创建菜单栏
menuBar = wx.MenuBar()
menuBar.Append(filemenu,"文件")
self.SetMenuBar(menuBar)
app = wx.App()
frame = MainWindow(None,'Hello World!')#将参数传入
frame.Show(True)
app.MainLoop()
运行结果(状态栏在最下层,鼠标指着就会触发)
按钮
class MainWindow(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent,title=title,size=(400,300))
# panle = wx.Panel(self)
self.but = wx.Button(self,label="按钮")
self.Show()
app = wx.App()
frame = MainWindow(None,"da")
app.MainLoop()
运行结果
图片组件
import wx
class MainWindow(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent,title=title,size=(200,200))
panle = wx.Panel(self)
self.bitmap = wx.StaticBitmap(panle,bitmap=wx.Bitmap("00000.png"))
self.bitmap.SetSize(200,200)#调节图片布局大小,并不改变图片大小
self.Show()
app = wx.App()
frame = MainWindow(None,"da")
app.MainLoop()