zoukankan      html  css  js  c++  java
  • Windows下用python编写简单GUI程序的方法

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

      python_gui.py

     1 #!C:Python27python.exe
     2 # -*- coding:UTF-8 -*-
     3 
     4 import Tkinter
     5 
     6 def center_window(w = 300, h = 200):
     7     ws = root.winfo_screenwidth()
     8     hs = root.winfo_screenheight()
     9     x = (ws/2) - (w/2)
    10     y = (hs/2) - (h/2)
    11     root.geometry("%dx%d+%d+%d" % (w, h, x, y))
    12 
    13 root = Tkinter.Tk(className='python gui')
    14 center_window(500, 300)
    15 root.mainloop()

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

      

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

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

    1 @echo off
    2 start /b C:Python27python.exe python_gui.py
    3 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程序的调用方式,并且调用时会让伴随的命令行放到后台去执行

  • 相关阅读:
    Go学习(5):集合
    Go学习(4):数组和切片
    Go学习(3):分支循环
    Go学习(2):基本语法
    Go学习(1):简介和配置
    input输入框只能输入数字而且开头不能为零
    JS 显示周 几和 月 日
    IntelliJ Idea 跳出括号并且光标移到末尾的快捷键
    不可小视的String字符串
    PrintWriter中的write与println方法居然就是这些区别
  • 原文地址:https://www.cnblogs.com/freeweb/p/5205119.html
Copyright © 2011-2022 走看看