zoukankan      html  css  js  c++  java
  • 使用wxPython制作GUI小工具

      我们项目客户端能看到的服务器列表由一个叫IPList.txt文本文件提供,每次启动客户端都会从CDN下载最新版本的IPList.txt。前两天运营同学那边提过来一个小工具需求,公测时对各个渠道需要提供不同的IPList.txt,如果临时加开新服或者修改老服状态(火爆/拥挤/顺畅),时间紧急手动修改容易出错,希望能有可视化工具修改。

      这项工作到我手上之后,大致思索了下,决定用Python实现。用Python写过一些小工具,但没有做过GUI,查了下资料,采用了推荐比较多的wxPython库。工具逻辑非常简单,只是修改txt文件而已,但前后也花了大半天的时间,一方面是代码摆控件花了不少时间(怀念MFC的拖控件。。。),另一方面也是在字符编码上遇到了一些问题。总结经验如下:

      使用Python读写有确定编码格式文件时, 一定使用codecs.open替代open。

      读出来的行使用line = line.replace(' ','')去掉换行符,等写之前再依次加上,最后一行不加,这样中间过程不用考虑换行符。

      wxPython的文件选择框返回的路径,如果是磁盘根目录,不会有’’分隔符,即打开D盘根目录下IPList.txt文件,返回的是”D:List.txt”,如果打开D盘下Test目录下IPList.txt文件,则返回的是”D:TestIPList.txt”。感觉像是Bug,但现状就是需要手动处理,不然保存时会找不到文件。

     

      整体来讲,使用wxPytho开发GUI程序过程令人满意,工具截图如下:

      

      代码:https://github.com/gns333/IPListTool

  • 相关阅读:
    CodeForces 383C-dfs序-线段树
    poj-3321-dfs序-线段树-邻接表
    poj2528-Mayor's posters-线段树离散化、基础
    hdu3333-Turing Tree-线段树+离线+离散化
    poj 1151-atlantis-线段树扫描线求面积并
    Changes favor the connective minds.
    HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题
    HDU 1203 I NEED A OFFER! 01背包
    hdu 1175 连连看 DFS
    Codeforces Round #208 (Div. 2) 358D Dima and Hares
  • 原文地址:https://www.cnblogs.com/gns3/p/4038817.html
Copyright © 2011-2022 走看看