python wxpython 实现界面跳转功能

yipeiwu_com6年前Python基础

用wxpython设计界面时可能会出现界面嵌套的情况 这样就需要进行界面的跳转

但是貌似wxpython没提供界面跳转的方式(也可能是我菜。。。)

所以就需要借助threading模块

主要思想:

注:该代码为源码的一部分,经过删减可能会导致程序错误,但 主要是通过一个按钮进行跳转,在点击该按钮时关闭当前界面,打开新界面。。

主要函数doClose  按钮触发的函数QU

import wx
import pymysql,time,threading
from MySQL import Make_bill,function
class Withdrawal1(wx.App):
  def doClose(self,j):
    time.sleep(j)
    self.frame.Close()
  def __init__(self,YuanZhangH):
    self.YuanZhangH=YuanZhangH
    wx.App.__init__(self)
    self.frame = wx.Frame(parent=None,title='取 款',size=(535,450),style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX )
    panel=wx.Panel(self.frame,-1)
    label_pass = wx.StaticText(panel,-1,"取款金额:", pos=(80,200))
    #style 为设置输入
    self.JinE = wx.TextCtrl(panel,-1, size=(250,35), pos=(140,190))
    self.QueDing_button = wx.Button(panel, -1, "确    认", size=(80,60), pos=(120,280))
    self.QuXiao_button     = wx.Button(panel, -1, "反    回", size=(80, 60), pos=(340,280))
    self.QueDing_button.SetBackgroundColour('#0a74f7')
    self.QuXiao_button.SetBackgroundColour('#0a74f7')
    self.Bind(wx.EVT_BUTTON, self.QuK, self.QueDing_button)
    self.Bind(wx.EVT_BUTTON, self.QU, self.QuXiao_button)  #通过一个按钮触发界面跳转
    self.frame.Center()
    self.frame.Show(True)
  def QuK(self, event):
    pass
  def QU(self, event):
    t = threading.Thread(target=self.doClose, args=(0.05,))
    t.start()              #通过threading和doClose函数关闭界面
    jie = function.Jiemian(self.YuanZhangH) #打开新界面  
    jie.MainLoop()

点击取款按钮跳转到取款界面原界面关闭:

总结

以上所述是小编给大家介绍的python wxpython 实现界面跳转功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

基于python yield机制的异步操作同步化编程模型

本文总结下如何在编写python代码时对异步操作进行同步化模拟,从而提高代码的可读性和可扩展性。      游戏引擎一般都采用分布式框架,通过一定...

解决Spyder中图片显示太小的问题

最近在做机器学习的作业,需要画决策树。在Spyder中把代码跑了一遍,发现决策树出现在了Spyder的console中,而且图片很小,那些字体都叠在一起。网上搜了一圈好像也没找到解决方案...

Python替换月份为英文缩写的实现方法

Python替换月份为英文缩写的实现方法

示例数据: zs,3 li,5 ww,10 cc,4 xm,2 xh,1 pp,6 qq,7 ff,11 dd,8 kk,12 mm,9 处理后效果: 脚本代码如下: 创建 文件名....

详解Python3.6的py文件打包生成exe

详解Python3.6的py文件打包生成exe

原文提到的要点: 1. Python版本32位 (文件名为 python-3.6.1.exe) 2. 安装所有用到的模块(原文博主用的是openpyxl,我用到的有urllib中的req...

实践Vim配置python开发环境

这段时间一直在用Python自带的IDLE编辑器、可是这IDLE的代码缩进真的让人很受伤、当你用到if:elif:的时候、后一行的elif:不会自动对齐、这让我经常出现在调试的时候才发现...