Python使用Windows API创建窗口示例【基于win32gui模块】


Posted in Python onMay 09, 2018

本文实例讲述了Python使用Windows API创建窗口。分享给大家供大家参考,具体如下:

一、代码

# -*- coding:utf-8 -*-
#! python3
import win32gui
from win32con import *
def WndProc(hwnd,msg,wParam,lParam):
  if msg == WM_PAINT:
    hdc,ps = win32gui.BeginPaint(hwnd)
    rect = win32gui.GetClientRect(hwnd)
    win32gui.DrawText(hdc,'GUI Python',len('GUI Python'),rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER)
    win32gui.EndPaint(hwnd,ps)
  if msg == WM_DESTROY:
    win32gui.PostQuitMessage(0)
  return win32gui.DefWindowProc(hwnd,msg,wParam,lParam)
wc = win32gui.WNDCLASS()
wc.hbrBackground = COLOR_BTNFACE + 1
wc.hCursor = win32gui.LoadCursor(0,IDI_APPLICATION)
wc.lpszClassName = "Python no Windows"
wc.lpfnWndProc = WndProc
reg = win32gui.RegisterClass(wc)
hwnd = win32gui.CreateWindow(reg,'3water.com - Python',WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,0,0,None)
win32gui.ShowWindow(hwnd,SW_SHOWNORMAL)
win32gui.UpdateWindow(hwnd)
win32gui.PumpMessages()

二、运行结果:

Python使用Windows API创建窗口示例【基于win32gui模块】

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
python设定并获取socket超时时间的方法
Jan 12 Python
Python从入门到精通之环境搭建教程图解
Sep 26 Python
tensorflow 实现数据类型转换
Feb 17 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 Python
Python eval函数原理及用法解析
Nov 14 Python
python Timer 类使用介绍
Dec 28 Python
看看如何用Python绘制小米新版天价logo
Apr 20 Python
彻底弄懂Python中的回调函数(callback)
Jun 25 Python
Python基于win32ui模块创建弹出式菜单示例
May 09 #Python
numpy中的delete删除数组整行和整列的实例
May 09 #Python
java中两个byte数组实现合并的示例
May 09 #Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 #Python
如何实现删除numpy.array中的行或列
May 08 #Python
numpy实现合并多维矩阵、list的扩展方法
May 08 #Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 #Python
You might like
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
php中JSON的使用与转换
2015/01/14 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
Python实现Logger打印功能的方法详解
2017/09/01 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
Solaris操作系统的线程机制
2012/12/23 面试题
实体的生命周期
2013/08/31 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
珍珠奶茶店创业计划书
2014/01/11 职场文书
音乐专业自荐信
2014/02/07 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
期中考试后的感想
2015/08/07 职场文书