美文网首页
wxPython 窗口

wxPython 窗口

作者: XHXHX | 来源:发表于2018-03-05 11:15 被阅读0次

    创建窗口

    wx.Frame.__init__(parent, id, title, pos, size, style, name)
    

    parent : 父窗口,顶级窗口值:None,多文档界面的情况下,子窗口被限制为只能在父窗口中移动和缩放

    id : 新窗口的wxPythonID,每个框架内必须唯一,传递-1时wxPython会自动生成一个新的ID

    title : 窗口标题

    pos : 一个wx.Size对象,指定窗口的左上角在屏幕中的初始位置。(0,0)为显示器的左上角,默认(-1,-1)将由系统决定窗口的位置

    size : 一个wx.Size对象,指定窗口的初始尺寸,默认(-1,-1)将由系统决定窗口的尺寸

    style : 框架类型常量

    name : 框架名称

    创建wxPython的ID

    1. 指定N+
    2. wx.NewId()
    3. 全局常量wx.ID_ANY
    4. -1
    

    获取ID

    GetId()  id = frame.GetId()
    

    使用wx.Point和wx.Size

    wx.Point 可以进行运算, wx.RealPoint 用来获取浮点数坐标
    

    wx.Frame

    SetStyle() 可以在创建后改变样式
    + wx.CAPTION : 在框架上增加一个标题栏,它显示该框架的标题属性
    + wx.CLOSE_BOX : 示系统在框架的标题栏上显示一个关闭框,使用系统默认的位置和样式
    + wx.DEFAULT_FRAME_STYLE : 默认样式
    + wx.FRAME_SHAPED : 用这个样式创建的框架可以使用SetShape()方法去创建一个非矩形的窗口
    + wx.FRAME_TOOL_WINDOW : 过给框架一个比正常更小的标题栏,使框架看起来像一个工具框窗口。在Windows下,使用这个样式创建的框架不会出现在显示所有打开窗口的任务栏上
    + wx.MAXIMIZE_BOX : 指示系统在框架的标题栏上显示一个最大化框,使用系统默认的位置和样式
    + wx.MINIMIZE_BOX : 指示系统在框架的标题栏上显示一个最小化框,使用系统默认的位置和样式
    + wx.RESIZE_BORDER : 给框架增加一个可以改变尺寸的边框
    + wx.SIMPLE_BORDER : 没有装饰的边框。不能工作在所有平台上
    + wx.SYSTEM_MENU : 增加系统菜单(带有关闭、移动、改变尺寸等功能)和关闭框到这个窗口。在系统菜单中的改变尺寸和关闭功能的有效性依赖于wx.MAXIMIZE_BOX, wx.MINIMIZE_BOX和wx.CLOSE_BOX样式是否被应用。
    

    工具栏 & 菜单栏 & 状态栏

    创建窗口容器

    wx.Panel(self)
    panel.SetBackgroundColour('White')      #添加背景颜色
    

    将按钮添加到画板

    wx.Button(parent, label(文案), pos, size)
    

    创建状态栏

    statusBar = self.CreateStatusBar()
    

    工具栏

    toolbar = self.CreateToolBar()          #创建
    toolbar.AddSimpleTool(ID, image, name, statusBarString) # 给工具栏增加一个工具
    toolbar.Realize()                       # 准备显示
    

    菜单栏

    menuBar = wx.MenuBar()                  #创建菜单栏
    menu1 = wx.Menu()                       #创建菜单
    menu1.Append(ID, 名称, 状态栏介绍)      #创建项目
    menu1.AppendSeparator()                 #分割线
    menuBar.Append(menu1, 名称)             #菜单附加到菜单栏上
    self.SetMenuBar(menuBar)                #菜单栏加到框架上
    
    

    对话框

    消息对话框

    创建

    dlg = wx.MessageDialog(parent, message, caption, style, pos);
    

    parent : 父窗口,顶级为None
    message : 显示在对话框中的字符串
    caption : 对话框标题栏的字符串
    style : 对话框样式
    pos : 位置

    响应

    result = dlg.ShowModal();
    #关闭对话框之前,应用程序不能响应其他窗口用户时间
    #返回用户响应内容: wx.ID_YES wx.ID_NO wx.ID_CANCEL wx.ID_OK
    

    关闭

    dlg.Destroy();
    

    文本输入对话框

    创建

    dlg = wx.TextEntryDialog(parent, message, caption, default);
    

    caption : 默认"Please enter text"
    default : 默认值

    响应

    GetValue()                              #返回用户输入
    SetValue()                              #设置输入
    

    选择对框框

    创建

    wx.SingleChoiceDialog(parent, message, caption, select)
    

    获取用户输入

    GetSelection()                          #返回用户选项的索引
    GetStringSelection()                    #返回所选字符串
    

    相关文章

      网友评论

          本文标题:wxPython 窗口

          本文链接:https://www.haomeiwen.com/subject/tmocfftx.html