悄然无声的 Blog
不是我不明白,这世界变化快!
posts - 113,comments - 713,views - 34万
在 Python 子类的构造函数中可以先调用父类的构造函数完成一些初始化动作,类似 Java 的 super() 或者 C# 的 base() 的作用,但是有一点不同之处:Python 类的所有成员函数的第一个参数都是 self ,即指向自己的一个对象实例,即:如果你是用类的对象实例调用成员函数,这个参数可以省略,因为 Python 知道 self 就是指向发出调用动作的那个对象;但是在类内部成员函数之间相互调用的时候,这个参数必须给出,否则就会出现错误。
所以,我们在调用父类的初始化函数 __init()__ 的时候:
第一个参数传入的是 self ,即指向自己的一个对象实例;
第二个参数是我们以前说过的父窗体的引用(可以为 None ,代表没有父窗体);
第三个参数一个窗体编号,一般情况下我们都用 wx.ID_ANY ,即 -1 ,代表由系统自动分配一个编号;

第四个参数是窗体标题

 

第五个参数传入一个坐标,代表窗体左上角的位置

 

第六个参数传入窗体的长度和宽度 


这样,我们就在窗体初始化的时候设置了窗体的位置和大小。
 

如果是在窗体对象创建了以后改变窗体对象的位置和大小,则可以利用 wx.Frame 的相关方法。

有三个方法可以改变窗体对象的位置,分别是:

1、MoveXY(x,y) 方法

2、Move(point) 方法

3、SetPosition(point) 方法

 

另外还有两个方法可以改变窗体的大小,分别是: 

1、SetDimensions(x, y, width, height)方法

2、SetSize(size) 方法 

下面的例子中创建了两个窗体,其中一个在初始化的时候设置好了窗体的位置和大小,另外一个窗体则在窗体对象创建以后改变了窗体的位置和大小。

代码如下: 

复制代码
 1 #!/usr/bin/python
 2 # -*- coding: GBK -*-
 3 
 4 import wx
 5 
 6 """
 7 设定窗体的位置和大小
 8 """
 9 
10 class MyFrame(wx.Frame):
11     
12     def __init__(self,strTitle):
13         wx.Frame.__init__(self,parent=None,id=wx.ID_ANY,title=strTitle ,pos=(100,100),size=(640,320))
14         #显示
15         self.Show()
16 
17 if __name__=='__main__':
18     #初始化程序
19     app=wx.App()
20     #创建窗体 1
21     MyFrame("#1")
22 
23     #创建窗体 2
24     frm2=MyFrame("#2")
25     frm2.MoveXY(400,400)
26     frm2.SetSize((320,640))
27     
28         
29     #开始消息循环
30     app.MainLoop()
复制代码

 

 

 

//==========================================
posted on   左洸  阅读(2219)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
< 2010年11月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4
5 6 7 8 9 10 11

点击右上角即可分享
微信分享提示