首页 技术 正文
技术 2022年11月17日
0 收藏 604 点赞 2,257 浏览 3012 个字

本文介绍按钮,位图按钮,滑动块,微调控制器**、、


按钮

基本按钮

创建一个按钮,绑定点击事件,点击后修改Label

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import wxclass ButtonFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'Button Example', size=(200,100))
panel = wx.Panel(self, -1)
self.button = wx.Button(panel, -1, "hello", pos=(50,20))
self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
self.button.SetDefault() def OnClick(self, event):
self.button.SetLabel("Clicked")if __name__=='__main__':
app = wx.PySimpleApp()
frame = ButtonFrame()
frame.Show()
app.MainLoop()

运行结果

Button的构造函数
wx.Button(parent, id, label, pos, size=wxDefaultSize, style=0, validator, name=”button“)

位图按钮

构造两个位图按钮,将焦点放在第一个位图按钮上,绑定点击事件,关闭窗体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import wxclass BitmapButtonFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Bitmap Button Example", size=(400,300))
panel = wx.Panel(self, -1)
bmp = wx.Image("test.bmp", wx.BITMAP_TYPE_BMP).ConvertToBitmap()
self.button = wx.BitmapButton(panel, -1, bmp, pos=(10,20))
self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
self.button.SetDefault()
self.button2 = wx.BitmapButton(panel, -1, bmp, pos=(200, 20), style=0)
self.Bind(wx.EVT_BUTTON, self.OnClick, self.button2) def OnClick(self, event):
self.Destroy()if __name__=='__main__':
app = wx.PySimpleApp()
frame = BitmapButtonFrame()
frame.Show()
app.MainLoop()

运行结果

PS
self.button.SetDefault()使按钮获得焦点,按下回车也能激活事件

滑动块

创建两个滑动块,一个横向,一个纵向

大专栏  wxpython(2)--按钮,位图按钮,滑动块,微调控制器pan class="line">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import wxclass SliderFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Slide Example", size=(300,350))
panel = wx.Panel(self, -1)
self.count = 0
slider = wx.Slider(panel, 100, 25, 1, 100, pos=(10,10), size=(250,-1),
style=wx.SL_HORIZONTAL|wx.SL_AUTOTICKS|wx.SL_LABELS)
slider.SetTickFreq(5)
slider = wx.Slider(panel, 100, 25, 1, 100, pos=(125,70), size=(-1,250),
style=wx.SL_VERTICAL|wx.SL_AUTOTICKS|wx.SL_LABELS)
slider.SetTickFreq(50)if __name__=="__main__":
app = wx.PySimpleApp()
frame = SliderFrame()
frame.Show()
app.MainLoop()

运行结果

构造函数
wx.Slider(parent, id, value, minValue, maxValue, pos=wxDefaultPosition, size=wx.DefaultSize, style=wx.SL_HORIZONTAL, validator=wx.DefaultValidator, name=”slider”)
value是滑块的初始值
minValue和maxValue是两端的值

样式
wx.SL_AUTOTICKS:如果设置这个样式,则滑块将显示刻度。刻度间的间隔通过
SetTickFreq方法来控制。
wx.SL_HORIZONTAL:水平滑块。这是默认值。
wx.SL_LABELS:如果设置这个样式,那么滑块将显示两头的值和滑块的当前只读值。有些平台可能不会显示当前值。
wx.SL_LEFT:用于垂直滑块,刻度位于滑块的左边。
wx.SL_RIGHT:用于垂直滑块,刻度位于滑块的右边。
wx.SL_TOP:用于水平滑块,刻度位于滑块的上部。
wx.SL_VERTICAL:垂直滑块。

微调控制器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import wxclass SpinnerFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Spinner Example", size=(100,100))
panel = wx.Panel(self, -1)
sc = wx.SpinCtrl(panel, -1, "", (30,20), (80,-1))
sc.SetRange(1,100)
sc.SetValue(5)if __name__=="__main__":
app = wx.PySimpleApp()
frame = SpinnerFrame()
frame.Show()
app.MainLoop()

运行结果

构造函数
wx.SpinCtrl(parent, id=-1, value=wx.EmptyString, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.SP_ARROW_KEYS, min=0, max=100, initial=0, name=”wxSpinCtrl”)

PS:
可以使用SetRange(minVal, maxVal) 和 SetValue(value)方法来设置范围和值。
SetValue()函数要求一个字符串或一个整数。要得到值,使用方法:GetValue()(返回一个整数), GetMin(), 和 GetMax()。

下一篇,我们介绍进度条,复选框,单选按钮,单选框,列表框

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,027
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,365
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,780
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,857