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


按钮

基本按钮

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import wx

class 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 wx

class 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 wx

class 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 wx

class 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()。

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

wxpython(2)--按钮,位图按钮,滑动块,微调控制器的更多相关文章

  1. MFC 使用位图按钮,并且设置按钮的鼠标悬停效果

    系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块.VC中自带了CBitmap ...

  2. iOS 自定义返回按钮,保留系统滑动返回

    原文链接 自定义返回按钮保留系统滑动返回手势.gif 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使 ...

  3. Android实现渐显按钮的左右滑动效果

    本示例演示在Android中实现带渐显按钮的左右滑动效果. 关于滑动效果,在我的上一篇博文中提到过,有兴趣的朋友可以访问: http://www.cnblogs.com/hanyonglu/archi ...

  4. android Button 切换背景,实现动态按钮和按钮颜色渐变

        android Button 切换背景,实现动态按钮和按钮颜色渐变 一.添加android 背景筛选器selector实现按钮背景改变     1.右键单击项目->new->Oth ...

  5. iOS 9应用开发教程之使用代码添加按钮美化按钮

    iOS 9应用开发教程之使用代码添加按钮美化按钮 丰富的用户界面 在iOS9中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. i ...

  6. iOS:步进UIStepper、滑动块UISlider、开关UISwitch的基本使用

    步进UIStepper.滑动块UISlider:当它们作为事件,被触发时,它们的值会发生改变.正因为如此,触发该事件时,可以一张一张翻阅浏览图片,,,, 步进UIStepper: @property( ...

  7. HMTL5滑动块研究

    滑动块图片 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  8. UnityEditorWindow做一个TimeLine的滑动块

    UnityEditorWindow做一个TimeLine的滑动块 最近在做一个基于TimeLine的动画编辑器,在制作TineLine滑动条时遇到问题,网上查了好久,试了好多GUI组件都不满意.最后在 ...

  9. wxPython中菜单、按钮学习

    ---恢复内容开始--- wx.Window 是一个基类,许多构件从它继承.包括 wx.Frame 构件.技术上这意味着,我们可以在所有的 子类中使用 wx.Window 的方法.我们这里介绍它的几种 ...

随机推荐

  1. 优秀的github java项目

    转载:https://www.zhihu.com/question/24834285/answer/251369977 biezhi/blade:先推荐下自己的哈哈,一款轻量级.高性能.简洁优雅的MV ...

  2. IDEA查看接口的所有实现类

    查看实现类 接口下右键Diagrams->Show Diagram,选中接口右键Show Implementations 或接口下按Ctrl+H: 或接口类名左边按钮:

  3. Windows、Linux(Ubuntu)修改 pip 镜像源

    一.Windows 修改 pip 镜像源 1.win + R 打开运行,输入  %APPDATA% 2.按下回车,打开文件夹. 3.在该文件夹下,新建文件夹,命名 pip. 4.进入 pip 文件夹, ...

  4. drf中的jwt使用与手动签发token、校验用户

    jwt认证 1)session存储token,需要数据库参与,耗服务器资源.低效2)缓存存token,需要缓存参与,高效,不易集群3)客户端存token,服务器存签发与交易token的算法,高效,易集 ...

  5. java.lang.SecurityException: java.lang.IllegalStateException: java.io.FileNotFoundException:XXXXXX(系统找不到指定文件)

    项目启动成功过,但访问页面抛出异常. 在Maven项目启动的时候,tomcat缓存机制没有吧maven jar除外的jar执行到项目里面,所有不要慌,项目重新启动就OK了, 如果这样还是不行的话就找到 ...

  6. 黑马eesy_15 Vue:常用语法

    自学Java后端开发,发现14 微服务电商[乐优商城]实战项目,在介绍完SpringCloud后就要肝前端的基础知识ES6语法和Vue.js 所以本篇博客作为入门Vue练习记录的过程,目的是供自学后端 ...

  7. Kubernetes系列二: 使用kubeadm安装k8s环境

    环境 三台主机,一台master,两台node 作为master 作为node节点 作为node节点 每台主机Centos版本使用 CentOS Linux release 7.6.1810 (Cor ...

  8. platform 平台驱动——设备的写作流程

    说明:在内核源码里会有很多已经实现的驱动,对于我们来说只需要写好设备文件即可,但是我们如何知道驱动需要那些数据,以及有哪些驱动呢? 解决: 1.首先在内核源码目录下执行执行菜单配置命令: make m ...

  9. 利用face_recognition,dlib与OpenCV调用摄像头进行人脸识别

    用已经搭建好 face_recognition,dlib 环境来进行人脸识别 未搭建好环境请参考:https://www.cnblogs.com/guihua-pingting/p/12201077. ...

  10. Log4J基础

    Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: ...