wxPython教程(二)

wxPython教程(二)wxPython教程(二)—wxPython按钮要创建按钮,只需调用wx.Button()。使用wx.Button()创建按钮时,将面板解析为第一个参数非常重要。我们将它连接到面板上,因为连接到框架会使其全屏显示。面板使你可以选择将窗口小部件放置在窗口中的任何位置。参数(10,10)是面板上的位置。id参数是必需的,但它等于-1(wx.ID_ANY==-1)。第3个参数是按钮上的文本。你可以使用以下代码在wxPython中创建一个按钮:#!/usr/bin/python

大家好,又见面了,我是你们的朋友全栈君。

wxPython教程(二)—wxPython 按钮

要创建按钮,只需调用 wx.Button()。使用 wx.Button()创建按钮时,将面板解析为第一个参数非常重要。我们将它连接到面板上,因为连接到框架会使其全屏显示。
面板使你可以选择将窗口小部件放置在窗口中的任何位置。参数(10,10)是面板上的位置。id 参数是必需的,但它等于-1(wx.ID_ANY== -1)。第 3 个参数是按钮上的文本。

你可以使用以下代码在 wxPython 中创建一个按钮 :

#!/usr/bin/python
 
import wx
 
def onButton(event):
    print "Button pressed."
 
app = wx.App()
frame = wx.Frame(None, -1, 'win.py')
frame.SetDimensions(0,0,200,50)
 
panel = wx.Panel(frame, wx.ID_ANY)
button = wx.Button(panel, wx.ID_ANY, 'Test', (10, 10))
button.Bind(wx.EVT_BUTTON, onButton)
 
frame.Show()
frame.Centre()
app.MainLoop()

如果按下按钮,则会调用 onButton() 函数。我们用
button.Bind(wx.EVT_BUTTON,onButton)绑定(连接)它。

按钮图像

按钮上的图像 wxPython 支持在按钮上显示图像。只需稍微更改即可在按钮上显示图像。虽然该函数名为
wx.BitmapButton,但它支持其他图像格式。

bmp = wx.Bitmap("call-start.png", wx.BITMAP_TYPE_ANY)
button = wx.BitmapButton(panel, id=wx.ID_ANY, bitmap=bmp,
                          size=(bmp.GetWidth()+10,bmp.GetHeight()+10))

第一行加载图像,第二行创建按钮。

完整代码:

#!/usr/bin/python
 
import wx
 
def onButton(event):
    print "Button pressed."
 
app = wx.App()
frame = wx.Frame(None, -1, 'win.py')
frame.SetDimensions(0,0,200,70)
panel = wx.Panel(frame, wx.ID_ANY)
 
bmp = wx.Bitmap("call-start.png", wx.BITMAP_TYPE_ANY)
button = wx.BitmapButton(panel, id=wx.ID_ANY, bitmap=bmp,
                          size=(bmp.GetWidth()+10, bmp.GetHeight()+10))
 
button.Bind(wx.EVT_BUTTON, onButton)
button.SetPosition((10,10))
 
frame.Show()
frame.Centre()
app.MainLoop()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143585.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • typedef struct Lnode{ Elemtype data; struct Lnode *next; } Lnode,*Linklist;「建议收藏」

    typedef struct Lnode{ Elemtype data; struct Lnode *next; } Lnode,*Linklist;「建议收藏」*next是指向下一个值的地址而*Linklist是当前这个值的地址,只是这个值里有数据data,和下一个值的地址就是说链表中,因为数据是随机储存的,所以地址不是连续的,要想读取下一个数,就要知道下一个数据的地址不知道有没有看懂,表达能力不是很好*Linklist相当于一个数组头指针,只是这个数组的元素是结构体*next则是构成链表的一个基本元素,指向该结点下一个结点的地址从某种意义上讲,*Linklist是指定了这段空间在内存中的位置(可以申请连续的结点空间),而*next则对结点进行了一

  • ARM指令集介绍「建议收藏」

    ARM指令集介绍「建议收藏」ARM指令介绍ARM指令集是专门针对ARM体系架构使用的指令。在BootLoader引导的第一阶段以及内核的第一阶段都会有个使用汇编语言编写的head.S文件,在不跑操作系统的裸板中也有一段用来初始化开发板环境的汇编代码。所以无论是开发跑操作系统的板子,还是裸板开发,汇编语言都很有必要学习一番,最少要了解一些常用的汇编指令。ARM指令集可以分为以下六种跳转指令数据处理指令程序状态寄存…

    2022年10月31日
  • mybatis log plugin 激活码[最新免费获取][通俗易懂]

    (mybatis log plugin 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1M3Q9SD5XW-eyJsa…

  • UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\U0001f914’ in posit[通俗易懂]

    UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\U0001f914’ in posit[通俗易懂]原码#保存爬取结果(微博评论)result.to_csv(‘egg_comment.csv’,encoding=’gbk’)报错UnicodeEncodeError:’gbk’codeccan’tencodecharacter’\U0001f914’inposit原因网上很多内容都是采用utf8编码的,gbk无法编码字符’\U0001f914’,所以’utf8’格式…

  • mysql数据库的字段数据类型有哪些_mysql数据类型详解

    mysql数据库的字段数据类型有哪些_mysql数据类型详解mysql数据类型有:1、数值类型;2、日期和时间类型;3、字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。mysql数据类型有:MySQL支持的数据类型在几类:数值类型,日期和时间类型和字符串(字符)类型。数据类型:注意:在定义字段是我们经常使用numint(10)unsigned这种写法…

  • 动态链接库(DLL)初始化例程失败_failed to load中文

    动态链接库(DLL)初始化例程失败_failed to load中文在importtensorflow时遇到以下报错:解决方案如下:1.官网上提到:因为TensorFlow1.6版本起,二进制文件使用AVX指令,这些指令可能无法在旧版CPU上运行,所以我们要看下CPU的指令集。可以使用CPU-Z这个软件来查看:注:该软件我已经放到公号上,读者可以在后台发送”cpu”获取下载链接。如果不支持,则可以考虑更换一台电话。支持的话请看方案二。2.官网同样提到:从TensorFlow2.1.0版开始,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号