wxpython实现按钮切换界面的方法

yipeiwu_com5年前Python基础

本文实例为大家分享了wxpython按钮切换界面的具体实现代码,供大家参考,具体内容如下

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

import wx
 
class TestFrame(wx.Frame):
 def __init__(self):
  wx.Frame.__init__(self,None,-1,u'登陆',size=(370,280),style=wx.MINIMIZE_BOX|
  wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX)
  self.SetBackgroundColour('white')
 
  self.button1 = wx.Button(self,-1,u'按钮1',pos = (80,180))
  self.button1.Bind(wx.EVT_BUTTON,self.OnButtonClick1)
 
  self.button2 = wx.Button(self,-1,u'按钮2',pos = (180,180))
  self.button2.Bind(wx.EVT_BUTTON,self.OnButtonClick2)
 
  #Button1显示组件
  self.text1 = None
  self.textc1 = None
 
  #Button2显示组件
  self.text2 = None
  self.textc2 = None
 
  
 
 def OnButtonClick1(self,event):
  if not self.text1:
   self.text1 = wx.StaticText(self,-1,u'用户名',(70,73),(50,-1),wx.ALIGN_CENTER)
   self.text1.SetBackgroundColour('black')#设置背景颜色
   self.text1.SetForegroundColour('white')#设置文本颜色
  if not self.textc1:
   self.textc1 = wx.TextCtrl(self,pos=(140,70))
 
  if self.text2:
   self.text2.Destroy()
  if self.textc2:
   self.textc2.Destroy()
 def OnButtonClick2(self,event):
  if self.text1:
   self.text1.Destroy()
  if self.textc1:
   self.textc1.Destroy()
 
  if not self.text2:
   self.text2 = wx.StaticText(self,-1,u'密码',(70,123),(50,-1),wx.ALIGN_CENTER)
   self.text2.SetBackgroundColour('black')#设置背景颜色
   self.text2.SetForegroundColour('white')#设置文本颜色
  if not self.textc2:
   self.textc2 = wx.TextCtrl(self,pos=(140,120), style=wx.TE_PASSWORD)
   
  
 
if __name__ == "__main__":
 
 app = wx.App()
 frame = TestFrame()
 frame.Show()
 app.MainLoop()

在 __init__函数中先声明会用到的控件,然后在按钮响应时分别显示自己需要显示的控件,Destroy不需要的控件,来实现按钮对界面的切换。(博主自己摸索出来的,可能并不实用,但是感觉挺好理解)

运行如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python并发编程 Process对象的其他属性方法join方法详解

一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一: 在主进程的任务与子进程的任...

Python下的subprocess模块的入门指引

Python下的subprocess模块的入门指引

在熟悉了Qt的QProcess以后,再回头来看python的subprocess总算不觉得像以前那么恐怖了。 和QProcess一样,subprocess的目标是启动一个新的进程并与之进...

python中使用psutil查看内存占用的情况

有的时候需要对python程序内存占用进行监控,这个时候可以用到psutil库,Anaconda中是自带的,如果import出错,可以用pip install psutil(安装在pyt...

修复 Django migration 时遇到的问题解决

今天想给自己的 Blog 加点功能,顺便补上测试,然而第一步在创建测试数据库就过不了,我就尝试解决这个问题。 在跑 ./manage.py test 时,先会创建一个测试用的数据库,这时...

python读取dicom图像示例(SimpleITK和dicom包实现)

1. 用SimpleITK读取dicom序列: import SimpleITK as sitk import numpy as np img_path='F:\\dataset\\...