zoukankan      html  css  js  c++  java
  • python的wxpython包

    1,wxpython包简介

    图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面

    wxpython这个包就可以被用来开发用户图形界面。

    易百教程

    2,wxFormBuilder图形化GUI开发的IDE

    基本思想就是利用可视化操作界面生成前端样式,比如什么地方加文本框,什么地方加按钮,然后wxformbuilder会生成一个python的代码,里面主要是一些class,就像css一样,把它保存起来,然后在自己的程序中import一下,直接调用接口就行了。

    道理是这么个道理,但是具体的操作嘛,还是要学,尤其是学一下wx包的函数和wxformbuilder的接口。

     跑是可以跑起来,就是不大明白原理:

    wxPython的界面设计wxformbuilde初学笔记

    3,wxpython包基础语法

    import wx
    app=wx.App()    #每一个wxPython应用程序都是wx.App这个类的一个实例
    frame=wx.Frame(None,wx.ID_ANY,"hello World")    #wx.Frame类是一个顶层窗口。它的用法是wx.Frame(Parent, Id, Title)
    frame.Show(True)    #让一个窗口可见,不要用false,不然程序是运行的,但是没有窗口显示
    app.MainLoop()    #应用程序的MainLoop函数,它用来处理各种事件。

    4,设计一个简单的文本编辑器

    教程

    先给文本编辑器加上菜单栏和状态栏:

    class MyFrame(wx.Frame):    #继承了Frame类,但是重写了它的方法
        def __init__(self,parent,title):
            wx.Frame.__init__(self,parent,title=title,size=(200,100))
            self.control=wx.TextCtrl(self,style=wx.TE_MULTILINE)    #这里创建了一个新的wx.TextCtrl实例
            self.CreateStatusBar()    #添加一个状态栏到窗口的底部,用于显示菜单栏的提示信息
    
            filemenu=wx.Menu()    #创建一个菜单栏的下拉列表
            filemenu.Append(wx.ID_ABOUT,"about","information about this program")
            filemenu.AppendSeparator()
            filemenu.Append(wx.ID_EXIT,"Exit","terminate the program")
    
            menuBar=wx.MenuBar()    #添加一个菜单条
            menuBar.Append(filemenu,"file")    #把菜单栏添加到菜单条上,并且命名为file
            self.SetMenuBar(menuBar)    #把菜单条添加到frame内容上
            self.Show(True)
    
    
    app=wx.App(False)
    frme=MyFrame(None,"Small editor")
    app.MainLoop()

    再尝试加入事件:

    事件就是指发生在你的程序当中的某些事情(一个按钮被按下,文本输入,鼠标移动等等),

    //这个函数和上一个有所不同,注意区分,记得提前import
    class
    MainWindow(wx.Frame): #继承了Frame类,但是重写了它的方法 def __init__(self,parent,title): wx.Frame.__init__(self,parent,title=title,size=(200,100)) self.control=wx.TextCtrl(self,style=wx.TE_MULTILINE) #这里创建了一个新的wx.TextCtrl实例 self.CreateStatusBar() #添加一个状态栏到窗口的底部,用于显示菜单栏的提示信息 filemenu=wx.Menu() #创建一个菜单栏 menuAbout=filemenu.Append(wx.ID_ABOUT,"&about","information about this program") menuExit=filemenu.Append(wx.ID_EXIT,"&Exit","terminate the program") menuBar=wx.MenuBar() #添加一个菜单条 menuBar.Append(filemenu,"&file") #把菜单栏添加到菜单条上,并且命名为file self.SetMenuBar(menuBar) #把菜单条添加到frame内容上 #创建事件 self.Bind(wx.EVT_MENU,self.OnAbout,menuAbout) #把下拉菜单中的menuAbout菜单栏和事件:OnAbout联系起来,第一个参数是事件的id self.Bind(wx.EVT_MENU,self.OnExit,menuExit) self.Show(True) #定义事件 def OnAbout(self,e): #事件和菜单栏联系起来以后,事件的动作由函数定义 dlg=wx.MessageDialog(self,"a small text editor","about Sample Editer",wx.OK) #弹出提示窗口,窗口标题是“about Sample Editer",提示信息是”a small test editor“ dlg.ShowModal() # dlg.Destroy() def OnExit(self,e): self.Close(True) app=wx.App(False) frame=MainWindow(None,"sample editor") app.MainLoop()

    5,加入对话框

    现在我们的窗口已经有菜单栏,文本框,状态栏等内容了,接下来我们尝试加入对话框。

    其实说到底,这个包是调用各种窗口,添加各种事件建立各种联系,它是一个操作应用型的包,有点像html和css,各种元素方法如果想应用自如,还是要靠练习。

  • 相关阅读:
    webpack中如何使用vue
    webpack 4.X 与 Vue 2.X结合
    webpack创建页面的过程
    webpack的css样式文件加载依赖
    webpack-dev-server的执行逻辑
    WebPack命令执行的时候,其内部处理逻辑是什么
    idea for Mac for循环快捷键
    java知识点集锦--基础知识部分
    npm --save-dev --save | -D -S区别
    mysql估算存储数据量
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/9670240.html
Copyright © 2011-2022 走看看