python的GUI编程--wxpython学习(四)-->练习:一个自动测试app启动时间的小工具

这里写图片描述
输出的结果:
这里写图片描述
项目的地址:https://github.com/CloudHuan/AppStartTime-pythonGUI-(练习项目,不会维护,不会更新 :) )
分为两个部分,界面和逻辑,逻辑就多说了,因为主要练习的是wxpython界面,先把(四)写了吧,(二)(三)回去再补。

执行:

python AppStartTime.py

附上界面源代码

#!_*_coding=utf-8_*_

import wx
from core import cCode

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,parent=None,title=u'启动时间测试 拜 cloudhuan',size=(600,200),pos=(500,200))
        self.SetMaxSize(wx.Size(600,500))
        mPanel = wx.Panel(parent=self)
        mSizer = wx.GridBagSizer(5,2)
        mSizer.AddGrowableCol(0,1)
        mSizer.AddGrowableCol(1,3)
        #
        t_pkg = wx.StaticText(parent=mPanel,label='包名/.类名:')
        self.e_pkg = wx.TextCtrl(parent=mPanel)
        mSizer.Add(t_pkg,pos=(0,0),flag=wx.ALIGN_CENTER)
        mSizer.Add(self.e_pkg,pos=(0,1),flag=wx.EXPAND)
        #
        t_num = wx.StaticText(parent=mPanel,label='次数:')
        self.e_num = wx.TextCtrl(parent=mPanel)        
        mSizer.Add(t_num,pos=(1,0),flag=wx.ALIGN_CENTER)
        mSizer.Add(self.e_num,pos=(1,1),flag=wx.EXPAND)             
        #
        btn = wx.Button(parent=mPanel,label=u'执行')
        mSizer.Add(btn,pos=(3,0),flag=wx.ALIGN_CENTER)
        self.c_box = wx.CheckBox(parent=mPanel,label=u'每次清除数据')
        mSizer.Add(self.c_box,pos=(3,1))
        #
        btn_check = wx.Button(parent=mPanel,label=u'当前activity')
        mSizer.Add(btn_check,pos=(4,0),flag=wx.ALIGN_CENTER)    
        self.t_show = wx.TextCtrl(parent=mPanel)
        mSizer.Add(self.t_show,pos=(4,1),flag=wx.EXPAND)

        #bindevent
        btn.Bind(event=wx.EVT_BUTTON,handler=self.execShell)
        btn_check.Bind(event=wx.EVT_BUTTON,handler=self.getActivity)

        #test
        self.e_pkg.SetValue(cCode.C_Tools().readConfig())

        mPanel.SetSizer(mSizer)
        mPanel.Fit()

    def execShell(self,event):
        pkgName = self.e_pkg.GetValue()
        num = self.e_num.GetValue()
        cCode.C_Tools().writeConfig(pkgName)
        flag = False
        if self.c_box.GetValue() == True:
            flag = True
        cCode.C_Tools().startTimeLoop(pkgName,num,flag)

    def getActivity(self,event):
        self.t_show.SetValue(cCode.C_Tools().getCurrentActivity())

if __name__ == '__main__':
    app = wx.App()
    Frame().Show()
    app.MainLoop()

界面代码都在这了,用了GridBagSizer 5x3布局,这个布局的特点是表格+拉伸+合并,于是左边按钮占1/5 文本输入和显示占4/5。接下来就都是绑定事件执行相关逻辑函数了,逻辑代码以前也写过了,所以不多说,主要做的就是给性能自动化穿上一层衣服。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值