好看的wxpython界面_最简单的wxPython的界面设计

这篇博客演示了一个简单的Python程序,展示了如何利用wxPython库设计和实现一个包含多个控件、面板、事件绑定的GUI界面。内容包括创建Panel、StaticText、TextCtrl、Button、StatusBar、ToolBar和MenuBar,并详细解释了各个组件的使用和事件处理方法。
摘要由CSDN通过智能技术生成

#!/bin/env python

# -*- coding: utf-8 -*-

#################################################################################

#这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有

#################################################################################

import wx

class MyFrame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, parent=None,title="My Test Frame",pos = (100,100), size=(500,450))

#添加第1个Panel面板

panel1 = wx.Panel(parent=self,pos = (0,80), size=(225, 250))

panel1.Bind(wx.EVT_MOTION, self.OnPanel1Move)

#添加其他控件

wx.StaticText(parent=panel1, label= " Cursor Pos:", pos=(10, 10),size=(100, 25))

self.posCtrl1 = wx.TextCtrl(parent=panel1, value = "0,0", pos=(100, 10),size=(100, 25))

#添加第2个Panel面板

panel2 = wx.Panel(parent=self,pos = (275,80), size=(225, 250))

#添加其他控件

wx.StaticText(parent=panel2,label= " The Second Panel", pos=(10, 50),size=(150, 25))

self.btn=wx.Button(parent=panel2,label= " My Button",pos=(10, 100),size=(150, 25))

self.btn.Bind(wx.EVT_BUTTON, self.OnMyButtonClick)

#添加wxStatusBar工具条

self.sb=self.CreateStatusBar(number =3)

self.SetStatusText("One",0)

self.SetStatusText("Two",1)

self.SetStatusText("Three",2)

#添加wxToolBar

self.tb=self.CreateToolBar()

bitmap1 = wx.EmptyBitmapRGBA(32, 24, red=0, green=0, blue=0, alpha=100)

self.tb.AddSeparator()

self.tb.AddLabelTool(1,'',bitmap1)

self.tb.AddSeparator()

bitmap2 = wx.EmptyBitmapRGBA(32, 24, red=0, green=0, blue=0, alpha=150)

self.tb.AddLabelTool(2,'',bitmap2)

self.tb.Realize()

#添加wxMenuBar菜单,提供了几种创建菜单的方式

menubar = wx.MenuBar()

#一级主菜单

file = wx.Menu()

file.Append(-1, '&New')

file.Append(-1, '&Open')

file.Append(-1, '&Save')

file.AppendSeparator()

#多级子菜单

imp = wx.Menu()

imp.Append(-1, 'Import newsfeed list...')

imp.Append(-1, 'Import bookmarks...')

imp.Append(-1, 'Import mail...')

file.AppendMenu(-1, 'I&mport', imp)

file.AppendSeparator()

#再添加一个菜单

quit = wx.MenuItem(file, wx.ID_CLOSE, '&Quit/tCtrl+W')

self.Bind(wx.EVT_MENU, self.OnQuit, id=wx.ID_CLOSE) #绑定方法

file.AppendItem(quit)

menubar.Append(file, '&File')

self.SetMenuBar(menubar)

self.Centre() #居中显示

self.Show(True)#总是一创建就显示Frame框架,

#定义事件方法

def OnPanel1Move(self, event): #在Panel1上面移动的时调用

pos = event.GetPosition()

self.posCtrl1.SetValue("%s, %s" % (pos.x, pos.y))

def OnMyButtonClick(self,event): #在按钮上面单击调用

self.btn.SetLabel("You Clicked!")

def OnQuit(self, event): #点击退出菜单时调用

self.Close()

#################################################################################

if __name__ == '__main__':

app = wx.App()

frame = MyFrame()

app.MainLoop()

#################################################################################

0_130897355122B4.gif

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-06-23 22:06

浏览 629

评论

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值