问题描述:
自己用 python + win32api 想写 exe 脚本文件,但是按钮都不会创建
python + win32api,win32gui,win32con 写 exe 窗口的时候,怎么创建按钮呢?

网上抄来的代码,如果用 tkinter 的话,不是用不到 win32api, win32gui, win32con 了吗?小白上来请教各位大佬

import win32gui
import win32api
from win32con import *
def WndProc(hwnd, msg, wParam, lParam): # wParam 值为鼠标按键的信息,而 lParam 则储存鼠标的坐标if msg == WM_PAINT:hdc, ps = win32gui.BeginPaint(hwnd)rect = win32gui.GetClientRect(hwnd)win32gui.DrawText(hdc, '这里是1', len('这里是1'), 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) # 调用DefWindowProc函数时使用窗口过程接收的相同参数。
wc = win32gui.WNDCLASS()
wc.hbrBackground = COLOR_BTNFACE + 1 # 设置背景颜色
wc.hCursor = win32gui.LoadCursor(0, IDI_APPLICATION) #鼠标位置
wc.lpszClassName = "my_window" # 样式名称
wc.lpfnWndProc = WndProc
reg = win32gui.RegisterClass(wc) # 注册窗口类
# CreateWindow(className, windowTitle, style, x, y, width, height, parent, menu, hinstance【当前句柄,应用程序实例】, reserved)
# hwnd = win32gui.CreateWindow(reg, '来了', WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, 0, None)
hwnd = win32gui.CreateWindow(reg, '来了', WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, 0, 0, 0, None)
win32gui.ShowWindow(hwnd, SW_SHOWNORMAL) # 显示主窗口 【 窗口不会自动显示主窗口 ShowWindow(窗口句柄, 标致【 SW_开头的参数 】) 】
win32gui.UpdateWindow(hwnd) # ShowWind 只显示窗口, 如果窗口被遮,切换窗口,移动窗口的时候判断需不需要重绘
win32gui.PumpMessages()
# hwnd 窗口句柄 handle window

问题解决:

自己用 python + pyqt5 解决了入门问题。创建了第一个按钮和其事件

演示效果:

代码:

# -*- coding: utf-8 -*-import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindowclass Ui_MainWindow(QMainWindow):def setupUi(self, MainWindow):MainWindow.setObjectName("myBtnWindow") # 设置对外的名字MainWindow.setWindowTitle("按钮展示") # 对内的名字MainWindow.resize(600, 480) # 窗口首次展示大小self.printBtn = QtWidgets.QPushButton(MainWindow) # 把需要添加的放在自己的窗口里面self.printBtn.setGeometry(QtCore.QRect(10, 10, 60, 40))self.printBtn.setText("打印") # 设置自己的按钮名称self.printBtn.clicked.connect(self.showBtnWords) # 设置链接函数QtCore.QMetaObject.connectSlotsByName(self) #绑定到相对应的槽上def showBtnWords(self):sender = self.sender()print(sender.text() + ':按钮上的字')if __name__ == "__main__":app = QtWidgets.QApplication(sys.argv)widget = QtWidgets.QWidget()window = Ui_MainWindow()window.setupUi(widget)widget.show()sys.exit(app.exec())

python + win32api,win32gui,win32con 写 exe 窗口的时候,怎么创建按钮呢?相关推荐

  1. python控制windows窗口、并输入数据_python win32api win32gui win32con 窗口句柄 发送消息 常用方法 键盘输入...

    import win32gui import win32con import win32api # 从顶层窗口向下搜索主窗口,无法搜索子窗口 # FindWindow(lpClassName=None ...

  2. python给窗口发送消息_python win32api win32gui win32con 窗口句柄 发送消息 常用方法 键盘输入...

    import win32gui import win32con import win32api # 从顶层窗口向下搜索主窗口,无法搜索子窗口 # FindWindow(lpClassName=None ...

  3. win32gui, win32con, win32api 安装失败

    win32gui, win32con, win32api安装失败,可以安装pypiwin32,因为pypiwin32包含了n32gui, win32con, win32api三个模块. pip ins ...

  4. python winapi_python---win32gui、win32con、win32api:winAPI操作

    importsysfrom PyQt5.QtWidgets importQApplication, QWidgetfrom lianxi importUi_Formfrom PyQt5.QtCore ...

  5. python多媒体应用:使用python和win32gui一步步教你按需截图和图片文字识别

    前方高能预警,建议分多次阅读. 这里将会分成三大模块进行介绍. 1.如何使用百度AI识别的API接口进行图片文字识别: 2.如何通过使用python和win32gui进行截图: 3.如何通过使用pyt ...

  6. python启动远端 exe_python打包exe开机自动启动的实例(windows)

    一.背景 简单的写个.exe程序,没必要去学习mfc.c++等,可以学习python.python可以轻易的调用windows的api,轻松的实现你想干的事.下面就是实现打包的exe文件开机自动运行. ...

  7. python win32api键盘_pythonwin32api键盘输入教程

    importwin32guiimportwin32conimportwin32api#从顶层窗口向下搜索主窗口,无法搜索子窗口#FindWindow(lpClassName=None, lpWindo ...

  8. 初学Python第三天写的一个PC版模拟微信自动给好友发送消息

    本程序能做什么: 在PC版的微信界面,模拟鼠标键盘动作,随机对好友列表里的某些好友发送文本消息和图片 (因为本人以前没有WINDOW UI的编程经验,所以这几天对WIN32UI接口基本是边学边搜边用, ...

  9. win32gui激活、关闭窗口方法

    win32gui模块可以控制窗口的属性,如果想激活某个窗口,一般先获取这个窗口的名字,如下代码可以打印出目前系统开启的所以程序窗口及名称: import win32gui,win32com.clien ...

最新文章

  1. 【LibreOJ】#541. 「LibreOJ NOIP Round #1」七曜圣贤
  2. Maven配置将war包部署到Tomcat(tomcat7-maven-plugin)
  3. pytorch转caffe
  4. 腾讯offer是什么样子_月薪35K:2020腾讯Java后端开发详细面试流程
  5. 静态与非静态(转改)
  6. 每日一题(40)—— 字符串常量
  7. [转帖]升级 Ubuntu,解决登录时提示有软件包可以更新的问题
  8. decimal转换为int_“System.InvalidCastException 指定的转换无效”问题的反思和总结
  9. 【雷达通信】基于matlab GUI多算法雷达一维恒虚警检测CFAR【含Matlab源码 874期】
  10. oc基础-oc中之集合NSSet,NSMutableSet
  11. unity旧动画系统之animationClip/animationEvent/animationCurve
  12. 《数据结构》实验二 线性表的实验
  13. Ubuntu压缩文件的分卷压缩和解压
  14. 试用期三个月,快转正的时候,领导说,“你的表现没有达到预期”
  15. 微信小程序实现封装处理
  16. MySQL数据库基本命令
  17. JAVA是解释型语言还是编译型语言
  18. UG\NX二次开发 获取曲线上某个位置的点坐标、切线矢量、主法线矢量、副法线矢量 UF_MODL_ask_curve_props
  19. MySQL的查询语言合集
  20. Centos-openstack-Rocky-ironic部署

热门文章

  1. Content Negotation在Nancy的实现和使用
  2. 实训|第三天Linux登录界面的修改以及Richard Stallman、自由软件运动
  3. Altium Designer调整PCB丝印位号经验
  4. 服务器维护的几个注意点
  5. hadoop添加snappy解压缩库
  6. 计算机网络第一章考研题
  7. java获取下载链接文件流并上传至OSS
  8. 30天简单了解Java-Day5深入类和对象
  9. 2017年初中计算机课改计划,初中2017年计算机教学工作计划(2)
  10. mybatis-plus使用乐观锁插件