Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下:

  python_gui.py

 #!C:\Python27\python.exe
# -*- coding:UTF-8 -*- import Tkinter def center_window(w = 300, h = 200):
ws = root.winfo_screenwidth()
hs = root.winfo_screenheight()
x = (ws/2) - (w/2)
y = (hs/2) - (h/2)
root.geometry("%dx%d+%d+%d" % (w, h, x, y)) root = Tkinter.Tk(className='python gui')
center_window(500, 300)
root.mainloop()

  第一行实现了,直接输入文件名即可执行,不用手动指定python.exe的位置也可以,现在可以运行cmd来执行一下

  

  可以看到,用cmd可以正常启动该python GUI程序,关掉gui界面或者关掉命令行窗口后,程序都会自动结束,如果我们编写了给普通用户使用的程序该怎么做,一方面,我们应该拷贝python的安装目录过去,因为一般用户计算机上没有python环境,我们直接拷贝安装目录就可以,不用注册表支持;另一方面,python GUI程序在运行时后面会伴随着一个黑色的命令行窗口,这个总是不太好看,我们可以考虑隐藏,隐藏的方法如下:

  首先编写bat脚本启动python源程序,脚本名称:start.bat

 @echo off
start /b C:\Python27\python.exe python_gui.py
exit

  当然第二行启动位置我们可以根据实际情况编写,这样直接运行start.bat就会启动python程序但是会伴随命令行窗口,所以不得不用一个比较low的方法,就是用vbs脚本把程序放到后台执行,编写脚本start.vbs

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c start.bat",vbhide

  通过运行这个vbs脚本就可以只看到gui窗口,并且把cmd窗口隐藏掉了,到这里,我们想要的功能就实现了,最后可以用c语言编译封装成一个exe的可执行文件执行上述代码即可实现调用,还可以编写一个最终的启动脚本来启动vbs即可,比如run.bat

@echo off
start start.vbs

  虽然过程调用了好几次,但是速度几乎不受影响,并且又是客户端使用,因此没什么问题,这就是简单的python GUI程序的调用方式,并且调用时会让伴随的命令行放到后台去执行

Windows下用python编写简单GUI程序的方法的更多相关文章

  1. 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...

  2. 用Python编写简单的发红包程序和计算器原理

    用Python编写简单的发红包程序: 第一种解法:数轴方法解决 import random def red_packet(money,num): money = money * 100 #将钱数转换成 ...

  3. linux和windows下安装python拓展包及requirement.txt安装类库

    python拓展包安装 直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packagesWindows默认路径:C:\Python ...

  4. Python编写简易木马程序(转载乌云)

    Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...

  5. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  6. Python编写守护进程程序

    Python编写守护进程程序思路 1. fork子进程,父进程退出通常,我们执行服务端程序的时候都会通过终端连接到服务器,成功连接后会加载shell环境,终端和shell都是进程,shell进程是终端 ...

  7. Windows下安装Python虚拟环境

    Windows下安装Python虚拟环境 虚拟环境安装 需求概要 "虚拟环境"是从电脑独立开辟出来的环境.就好比我们生活中的橱柜中,会把酱油放在一个瓶子里,把醋放在另外一个瓶子里, ...

  8. Windows 下的 Makefile 编写

    Windows 下的 Makefile 编写(一)Makefile的基本规则 作者:cntrump Makefile对于很多人来说是陌生的,特别是习惯于使用 IDE 的人来说,似乎没有听说过 Make ...

  9. Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...

随机推荐

  1. 【8-21】java学习笔记03

    内部类(静态内部类&非静态内部类) 静态外部类成员方法(如main方法)不能直接访问内部类,但是可以通过外部类的方法,在其中创建内部类实例对象,间接使用: 非静态内部类可以直接访问外部类的私有 ...

  2. Java 线程Thread.Sleep详解

    我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢? 思考下面这两个问题: 1.假设现在是 2008-4-7 12:00:00.000,如果 ...

  3. 几乎所有的html + css 内容的编写, 都可以通过emmet来写

    在今后的html编写中, 强迫 / 必须 使用 emmet来编写html代码了 !!!! 只使用zen coding, 只使用emmet 来编写, 再也不用以前的那种移动过去移动过来的 写法: 原始的 ...

  4. ubuntu 14.04 安装mysql server的分支MariaDB Server初级教程

    序,MariaDB Server是Mysql的fork版本,与Mysql完美兼容,mysql在10年被sun收购,后sun被oracle收购,后mysql的创建者及项目长期技术带头人之一的Michae ...

  5. Redis安装和使用

    新年伊始,万象更新.祝大家:新的一年,工作顺利,生活越来越美好. http://www.redis.cn/commands.html http://try.redis.io/ http://www.c ...

  6. updatepanel用法之triggers(局部刷新,全部刷新)使用示例

    asyncpostbacktrigger(异步回调触发器):局部刷新,只刷新updatepanel内部的内容postbacktrigger(普通回调触发器):全部刷新 <asp:ScriptMa ...

  7. 我的Java书单之优秀的入门书

    我始终相信,学习任何一门新技术,该技术相关的优秀书籍总是最好的资料.当然了,优秀的视频教程能帮组你快速地了解该技术,但是要深入和系统地去学习该技术,好的书籍就显得尤为重要了.结合我自己学习java的经 ...

  8. HDU 5023 A Corrupt Mayor's Performance Art(线段树区间更新)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5023 解题报告:一面墙长度为n,有N个单元,每个单元编号从1到n,墙的初始的颜色是2,一共有30种颜色 ...

  9. iOS权限管理思路

    iOS权限的分类: 1.功能级权限管理 2.数据级权限管理 权限的获取方式: 通常通过网络获取,会有延迟 使用到权限的场景: 1. 点击发送会员专享魔法表情,  判断是否有发送会员专享魔法表情的权限, ...

  10. jquery版时钟(css3实现)

    做时钟的主要原因是因为喜欢,觉得它好看(本人对特效有点爱不释手……).做的时候感觉工程量会有点大,做着做着发现实现起来其实并不难,只要理清思绪,其实还蛮简单的(我制作东西喜欢整体方向制定好,然后边做边 ...