1 app = wx.App()
每个wxpyhon的程式都必须有一个application object
2 wxFrame
(1)wx.Frame widget 是一个最重要的容器 是其他widget的parent widget
(2)Frame有7个参数
wx.Frame(wx.Window parent, int id=-1, string title='', wx.Point pos = wx.DefaultPosition,
wx.Size size = wx.DefaultSize, style = wx.DEFAULT_FRAME_STYLE, string name = "frame")
(3)第一个参数没有默认值 前三个是必须的 其他的可选
(4)style这个参数可以是多个的集合写法如下
window = wx.Frame(None, style=wx.MAXIMIZE_BOX | wx.RESIZE_BORDER
| wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX)
默认的是wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN.
(5)可以使用wxWindow的方法Move等
Method Description
Move(wx.Point point) move a window to the given position
MoveXY(int x, int y) move a window to the given position
SetPosition(wx.Point point) set the position of a window
SetDimensions(wx.Point point, wx.Size size) set the position and the size of a window
(6)可以使用wxWindow和wxTopLevelWindow的一些方法来修改Frame的默认位置大小等
比如让窗口最大化 在中间显示 调用Centere()和Maximize()方法即可
python 代码
- import wx
-
- class Centre(wx.Frame):
- def __init__(self, parent, id, title):
- wx.Frame.__init__(self, parent, id, title)
-
- self.Centre()
- self.Maximize()
- self.Show(True)
-
- app = wx.App()
- Centre(None, -1, 'Centre')
- app.MainLoop()
-
3 一个带有事件处理的简单例子
python 代码
-
-
-
-
- import wx
-
-
- class LeftPanel(wx.Panel):
- def __init__(self, parent, id):
-
- wx.Panel.__init__(self, parent, id, style=wx.BORDER_SUNKEN)
-
-
-
- self.text = parent.GetParent().rightPanel.text
-
- button1 = wx.Button(self, -1, '+', (10, 10))
- button2 = wx.Button(self, -1, '-', (10, 60))
-
- self.Bind(wx.EVT_BUTTON, self.OnPlus, id=button1.GetId())
- self.Bind(wx.EVT_BUTTON, self.OnMinus, id=button2.GetId())
-
- def OnPlus(self, event):
- value = int(self.text.GetLabel())
- value = value + 1
- self.text.SetLabel(str(value))
-
- def OnMinus(self, event):
- value = int(self.text.GetLabel())
- value = value - 1
- self.text.SetLabel(str(value))
-
-
- class RightPanel(wx.Panel):
- def __init__(self, parent, id):
- wx.Panel.__init__(self, parent, id, style=wx.BORDER_SUNKEN)
-
- self.text = wx.StaticText(self, -1, '0', (40, 60))
-
-
- class Communicate(wx.Frame):
- def __init__(self, parent, id, title):
-
- wx.Frame.__init__(self, parent, id, title, size=(280, 200))
-
-
- panel = wx.Panel(self, -1)
- self.rightPanel = RightPanel(panel, -1)
-
- leftPanel = LeftPanel(panel, -1)
-
- hbox = wx.BoxSizer()
- hbox.Add(leftPanel, 1, wx.EXPAND | wx.ALL, 5)
- hbox.Add(self.rightPanel, 1, wx.EXPAND | wx.ALL, 5)
-
- panel.SetSizer(hbox)
- self.Centre()
- self.Show(True)
-
- app = wx.App()
- Communicate(None, -1, 'widgets communicate')
- app.MainLoop()
分享到:
相关推荐
您可以在几分钟内编写一段...这篇文章是关于 wxPython,但 wxPython 实际是两件事物的组合体:Python 脚本语言和 GUI 功能的 wxWindows 库(关于 wxWindows 的介绍,请参阅 developerWorks上的 “细述 wxWindows” )。
### wxPython学习笔记 #### 一、简介 wxPython是一个为Python编程语言设计的图形用户界面(GUI)工具包。它允许Python程序员轻松地构建出功能丰富且强大的GUI应用程序。作为一个对wxWidgets库的Python绑定,...
1. **基础控件**:wxPython提供了各种常见的GUI控件,如按钮(Button)、文本框(TextCtrl)、复选框(CheckBox)、单选按钮(RadioButton)、列表框(ListBox)、滚动条(Scrollbar)等。学习这些基础控件的使用是...
#### 1. 欢迎来到wxPython - **简介**:wxPython是一种广泛使用的Python库,它允许开发者利用wxWidgets C++库来创建跨平台的图形用户界面(GUI)。wxPython是免费且开源的,支持Windows、Mac OS X和Linux等操作系统...
几本很不错的关于python gui的wxPython的书,包括“wxPython in Action(中文版)” 活学活用wxPython “《wxPython in Action》Noel Rappin, Robin Dunn著 2006年版”
1,导入 wxpython 库 import wx 2,建立窗体构造类 class 名字(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, ‘工具’,size=(300, 200)) 3,建立 面板 panel = wx.Panel(self...
这个压缩包文件"wxPython-demo-4.0.6_wxpython官方demo_wxPython-demo_wxpython_DEMO_w"包含了wxPython的官方演示程序,是学习和探索wxPython功能的理想资源。 【wxPython Demo】是wxPython库附带的一系列示例和...
通过1-18章的系统讲解,读者可以逐步构建起对wxPython全面的理解。 在第一章中,读者将被引入wxPython的世界,了解安装过程和基本的窗口创建。第二章至第四章会详细介绍各种控件,如按钮、文本框、列表框等,以及...
【基础代码示例】清单1展示了一个简单的wxPython应用代码片段: 1. 首先,导入了必要的系统模块和wxPython库。 2. `wxPython.wx`包含了所有与GUI相关的类和函数。 3. 定义了一个名为_window的类,继承自wxFrame,这...
【wxPython中文文档详解】 wxPython是一款用于创建GUI(图形用户界面)的Python库,它提供了丰富的组件和功能,使得开发者能够用Python语言构建出美观且功能强大的桌面应用程序。wxPython是基于流行的wxWidgets库,...
frame = _window(None, -1, "wxPython: (A Demonstration)") self.SetTopWindow(frame) return True [9]app = App(0) app.MainLoop() ``` - **关键行解析**: - 行[1]-[2]:导入必要的Python标准库(`sys`, `os...
Python WxPython开源扫雷游戏PyMine为开源扫雷游戏PyMine 使用Python语言和WxPython UI框架。本例移植自开源例程JMine 请在程序所在目录使用python PyMine.py启动例程需要先安装Python 3.11和wxPython 4.2Python ...
1. **wxPython 2.8 Application Development Cookbook.pdf** - 这可能是一本关于使用wxPython 2.8开发应用程序的指南,虽然版本号与标题中的不完全匹配,但可能包含了适用于wxPython 3.9的基础知识和通用技巧。...
1. **pywin32-208.win32-py2.4.exe**:这是一个Python接口库,提供了对Windows API的访问,使得开发者可以利用Windows系统的服务和功能,如文件系统操作、注册表访问、进程和线程控制等。 2. **numpy-1.0.1.win32-...
1. **安装与设置**:介绍如何在不同操作系统上安装`wxPython`,包括依赖项的处理和环境配置。 2. **基础知识**:讲解`wxPython`的基本概念,如窗口、框架、面板、事件处理和布局管理器。 3. **控件与组件**:详述...
wxPython是Python编程语言的一个GUI工具箱。他使得Python程序员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而wxWidgets是用C++语言写成的。和...
1. **安装**: 可通过 pip 安装,命令行输入 `pip install wxpython`。 2. **环境**: 确保 Python 环境已经设置好,推荐使用虚拟环境来隔离项目依赖。 3. **版本选择**: 不同版本的 wxPython 对应不同的操作系统和 ...
1. **导入模块**:首先会导入必要的库,如wxPython的wx模块和PyOpenGL的gl和glu模块。 2. **定义类**:定义一个自定义的GLCanvas类,继承自wx.GLCanvas。这个类将处理OpenGL上下文的创建、初始化以及渲染循环。 3. *...