wxPython 窗口

2018-03-05  本文已影响0人  XHXHX

创建窗口

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()                    #返回所选字符串
上一篇 下一篇

猜你喜欢

热点阅读